Eugene Biryukov
Eugene Biryukov

Reputation: 1712

Cocoapods ld: library not found for -lPods-Projectname

I've installed cocoa pods library and some frameworks through it. Now when I compile project the build fails.

Error: ld: library not found for -lPods-Project clang: error: linker command failed with exit code 1 (use -v to see invocation)

Here part of text:

Ld /Users/polzovatel/Library/Developer/Xcode/DerivedData/Project-bybevfqrgvqqldbzsgewqafpmylj/Build/Products/Debug-iphonesimulator/Project app/Project normal i386
    cd /Users/polzovatel/Projects/iOS-master/Project_iPhone
    export IPHONEOS_DEPLOYMENT_TARGET=6.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

What I need to do to fix this problem?

Upvotes: 56

Views: 50587

Answers (17)

Ramis
Ramis

Reputation: 16549

Whenever I execute "pod install" it leads me to spend several hours fixing build errors. So, I deleted CocoaPods stuff and do not have problems any more! Now I am lucky and happy man.

Start using Swift Package Manager (SPM). If your 3rd party lib still do not support SPM I encourage you to take action on adding SPM support on your own. Here is instructions.

Or create an issue for the 3rd party lib about adding support for SPM.

Upvotes: 47

Ramesh Chathuranga
Ramesh Chathuranga

Reputation: 55

i also had the same sort of issue. So Check your pod file's platform :ios . and check Deployment info target versions. and please make sure version of both files are same. if both are not same the issue will be executed. i also had the issue after library updating my react native project

(Target info = select your project, then select target, In general section Deployment info is available.)

enter image description here

enter image description here

Upvotes: 0

Christopher
Christopher

Reputation: 6046

In my case I found that a mis-match of deployment target of the Project (iOS 11.4) versus the Target (iOS 10.3). Updating the target to iOS 11.4 fixed the issue.

Project > Info > Deployment Target > iOS Deployment Target
Project > Target > General > Deployment Target > Target

Podfile: platform :ios, '11.4'

enter image description here enter image description here

Upvotes: 6

MNassar
MNassar

Reputation: 377

I had a very different experience. I tried removed the library from build settings to no avail. And honestly, I couldn't see the logic behind it.

What I did was try a new pod install. And so it gave me this error

[!] The ProjectName [Debug] target overrides the LIBRARY_SEARCH_PATHS build setting defined in Pods/Target Support Files/Pods-/Pods-.debug.xcconfig. This can lead to problems with the CocoaPods installation - Use the $(inherited) flag, or - Remove the build settings from the target.

[!] The ProjectName [Release] target overrides the LIBRARY_SEARCH_PATHS build setting defined in Pods/Target Support Files/Pods-/Pods-.debug.xcconfig. This can lead to problems with the CocoaPods installation - Use the $(inherited) flag, or - Remove the build settings from the target.

So I did what it told me to, I added the $(inherited) flag to build settings. And all worked well

Upvotes: 6

hungdm9999
hungdm9999

Reputation: 31

Point to your Pods project, set the BaseSDK to iOS SDK since 'pod install' process clear it. Also set Build Valid Architecture Only to NO That should work.

Upvotes: 2

Kaptain
Kaptain

Reputation: 1348

Check your Project -> Targets -> Build Phases -> Link Binary With Libraries

enter image description here

Upvotes: 3

Elad
Elad

Reputation: 594

Go to Product > Scheme > Edit Scheme... > Build > + > Add the Pods-Projectname.a and drag it to the top > Clean & Build your project.

Upvotes: 6

jiexishede
jiexishede

Reputation: 2613

Make sure Build Active Architectures Only in your Project/Target and in your Pod/Target and Pod are the same. We often set the debug yes and set the release no.

Upvotes: 14

JIANG
JIANG

Reputation: 1877

I realized the xcproject file was opened instead of the updated workspace. This fixed my error. Hope this information will help others too.

Upvotes: 13

HotFudgeSunday
HotFudgeSunday

Reputation: 1403

If none of the other answers help you, try this:

  • Deintegrate cocoa pods using pod deintegrate. Check this link https://github.com/kylef/cocoapods-deintegrate.
  • Search on the build settings for target and project file for "pod". Anything that looks like it belonged to cocoa pods, remove.
  • Finally, run pod install once again.

Upvotes: 10

dreamzor
dreamzor

Reputation: 5925

I've had this error after adding a new build configuration.

pod install helped, because it adds separate settings for each build configuration.

Upvotes: 1

Renetik
Renetik

Reputation: 6373

I had this problem when I accidentally opened project instead of workspace so Cocoapods where missing....

Upvotes: 4

Eugene Biryukov
Eugene Biryukov

Reputation: 1712

Fixed it by deleting the -lPods-Projectname.a in Link Binary (for newer versions, delete the -lPods-Projectname.a under the Frameworks group).

Upvotes: 99

skywinder
skywinder

Reputation: 21426

Ensure that Build Active Architectures Only settings for both of your project and the Pods project were equal for debug and release configuration! That's was a problem in my case.

Upvotes: 20

aybars
aybars

Reputation: 902

You can try "Build Active Architecture Only" = YES . it may be solving problem.

Upvotes: 23

HDevejian
HDevejian

Reputation: 111

I experienced a similar error which affected one of my computers but not the other when compiling the same project.

I reinstalled cocoapods, all gems, rebuilt the project and none of it worked. I finally got it to compile but required me to completely remove Xcode and related data (iPhone simulator, DerivedData) then reinstall Xcode.

Upvotes: 1

mcatach
mcatach

Reputation: 1576

The exact location that you should remove your libs is at:

  • Remove -lyourlibname.a in "Link Binary With Libraries" on "Build Phases" of your target.

Upvotes: 24

Related Questions