Error "library not found for" after putting application in AdMob
IosXcodeAdmobCocoapodsIos Problem Overview
I am getting an error after I put my application in an AdMob. The app was working until today. The error is the following:
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
How can I fix this? Thank you.
Ios Solutions
Solution 1 - Ios
I had a similar "library not found" issue. However it was because I accidentally was using the .xcodeproj
file instead of the .xcworkspace
file.
Solution 2 - Ios
Sometimes you just remove the reference of the library and add reference again.
Apart from adding the Google Mobile Ads SDK and other libraries again from scratch, I would recommend you checking the Library Search Paths. There are instances when you copy or duplicate a target, Xcode decides that it needs to escape any double quotes " with a ''. Make sure you remove all the \’s - it should look like this -
I was able to duplicate the error, by doing prefixing my path with multiple ''.
Solution 3 - Ios
Select your Target, go to "Build Phases"
in "Link Binary With Libraries"
remove ".a"
file of that library.
Clean and Build.
Solution 4 - Ios
If error related to Cocoapods as follow:
library not found for -lPod-...
You need to check Other Linker Flags and remove it from there.
> Extra Information: If you have an old project that uses cocoapods. And recently you needed to add the use_frameworks! to your podfile. > cocoapods will not add the libraries to your Other Linker Flags > anymore cause its inherited. Therefore, you may need to remove those > manually from the other linker flags which they were added before > using the use_frameworks!
Solution 5 - Ios
For my case Xcode 7, also worked in Xcode 9.1/9.2
ld: library not found for -ldAfnetworking
clang: error: linker command failed with exit code 1 (use -v to see invocation)
set Build Active architecture Only
to Yes
Solution 6 - Ios
If error is like following
ld: library not found for -lpods
I found that a file "libPods.a" which is in red colour(like missing files) was created somehow in the Framework group of the project. I just simply removed that file and everything got fine.
EDIT: Another Solution
Another Solution that I have already answered in the similar question is in this link
Solution 7 - Ios
goto Build Phases -> Link Binary With Libraries and remove library which show errors because that library is not available in project folder
Solution 8 - Ios
Late for the answer but here are the list of things which I tried.So it will be in one place if anyone wants to try to fix the issue.
-
Valid architecture = armv7 armv7s
-
Build Active Architecture only = NO
-
Target -> Build Settings ->Other Linker Flags = $(inherited)
-
Target -> Build Settings ->Library Search Path = $(inherited)
-
Product Clean
-
Pod Update in terminal
Solution 9 - Ios
ld: library not found for
It is compile time error for a Static Library
that is caused by Static Linker
ld: library not found for -l<Library_name>
1.You can get the error Library not found for
when you have not include a library path to the Library Search Paths(LIBRARY_SEARCH_PATHS)
ld
means Static Linker
which can not find a location of the library. As a developer you should help the linker and point the Library Search Paths
Build Settings -> Search Paths -> Library Search Paths
2.Also you can get this error if you first time open a new project (.xcodeproj
) with Cocoapods support, run pod update
. To fix it just close this project and open created a workspace instead (.xcworkspace
)
Solution 10 - Ios
As for me this problem occurs because i installed Material Library for IOS. to solve this issue
1: Go to Build Settings of your target app.
2: Search for Other linker flags
3: Open the other linker flags and check for the library which is mention in the error.
4: remove that flag.
5: Clean and build.
I hope this fix your issue.
Solution 11 - Ios
In my case there was a naming issue. My library was called ios-admob-mm-adapter.a
, but Xcode expected, that the name should start with prefix lib. I've just renamed my lib to libios-admob-mm-adapter.a
and fixed the issue.
I use Cocoapods, and it links libraries with Other linker flags option in build settings of my target. The flag looks like -l"ios-admob-mm-adapter"
Hope it helps someone else
Solution 12 - Ios
Simply, GoogleAdMobAds.a
is missing in project target.
For me it was libAdIdAccessLibrary.a
Please check attached screenshot
Solution 13 - Ios
In the case of ld: library not found for -{LIBRARY_NAME}
happened because the library file(s) is not existing.
> Check the library path on your application targets’ “Build Phases” > Library Search Paths tab.
The library file(s) path must be according to the real path for example if your file(s) in the root of the project you must set the path like $(PROJECT_DIR)
Solution 14 - Ios
- Cleaned Build Folder
- Restarted XCode
Went away...
Solution 15 - Ios
I know this is a bit old, but I just hit a similar issue and running 'pod update' fixed this for me. My library error was with AFNetworking...
Just be careful doing pod update if you don't use explicit versions in your pod file.
Solution 16 - Ios
This error is very weird.
I had this error with -ldAfnetworking and I only copy my project in other path and works.
Solution 17 - Ios
I tried renaming my build configuration Release
to Production
, but apparently cocoa pods doesn't like it. I renamed it again to Release
, and everything builds just fine.
Solution 18 - Ios
@raurora's answer pointed me in the right direction. I was including libraries in my "watchkitapp Extension/lib" path. In this case, the Library Search Path needed to be escaped with a '', but the linker didn't seem to understand this. To fix / work-around the issue, I moved my lib path up one level so it was no longer in a directory that contained a space in the name.
Solution 19 - Ios
I just update the pod file 'pod update' and it start to work for me normally.
Solution 20 - Ios
Running 'pod update' in my project fixed my problem with the 'library not found for -lSTPopup' error.
Remarking Trevor Panhorst's answer:
"Just be careful doing pod update if you don't use explicit versions in your pod file."
Solution 21 - Ios
Easy solution. Here's how I'd fix the issue:
- Go to the directory
platforms/ios
- Then, execute the command
pod install
That's it. This should install the missing library.
Solution 22 - Ios
I was getting similar bugs on library not found. Ultimately this is how I was able to resolve it
- Before starting with Xcode Archive, used flutter build iOS
- Changed the IOS Deployment Target to a higher target iOS 11.2 . Earlier I had something like 8.0 which was giving all the above errors.
- Made sure that the IOS deployment targets in Xcode are same in the Project, Target and Pods
Solution 23 - Ios
I was also facing the same issue and spent more than 24 hours to solve this, I tried everything from the above solutions but what finally works for me is
- Build settings -> Select Target
- Basics
- User-defined
- Change the VALID_ARCHS to arm64