Xcode - ld: библиотека не найдена для-lPods

Я получаю эти ошибки при попытке создать приложение iOS.

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

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
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"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox

стручки ROOT в настройках сборки:

${SRCROOT}/Pods

Я не создавал этот проект Xcode - просто вытащил его из Git, чтобы проверить его.

20 ответов


Если проект использует CocoaPods, всегда открывайте вместо .


также была эта проблема. Что-то было не так с моей установкой CocoaPods. Нет стручков другие, чем Киф установке правильно. Я следил за комментариями на этой теме, чтобы помочь.

в принципе, мне нужно было убедиться, что Build Active Architectures Only настройки для моего проекта и проекта Pods были равны.


после нескольких часов исследований это решение работает для меня:

(отказ от ответственности: результаты могут варьироваться в зависимости от обстоятельств)

на Library not found -lPods-(someCocoapod) ошибка была вызвана несколькими записями в :

Settings(Target) > Build Settings > Linking > 'Other Linker Flags'

многие другие сообщения заставляли меня смотреть туда, и я видел изменения в ошибке, когда я возился с записями, но я продолжал получать некоторые вариации на ту же ошибку.

слишком много времени потеряли ...

мой Исправить:

удалите строки-lPods-(someCocoaPod) в списке "другие флаги компоновщика"но только если $(наследуется) находится вверху. Сначала я не был уверен, но обнадеживающим признаком было то, что я все еще видел ссылки на мои cocoapods, когда я покинул режим редактирования(унаследованный). Я тестировал в debug и release, оба из которых давали мне ошибки, и проблема была немедленно решена.


кажется, проект использует cocoapods. и эти файлы отсутствуют в вашем проекте.

вы не можете просто загрузить его из git. Вам нужно установить его из cocoapods.

для получения дополнительной помощи, вы можете следовать введение в CocoaPods учебник

Если проект использует CocoaPods мы предупреждаем всегда открыть вместо


Если у вас есть несколько целей в вашем проекте, Cocoapods может хорошо интегрироваться только с одним из них.

мне пришлось вручную ссылаться на libPods.a в "Link Binary With Libraries" для каждой дополнительной цели, которую я имел.

libPods.a in my list of frameworks


моя проблема была исправлена в следующей конфигурации:

Build Active Architecture Only: YES

ни один из вышеперечисленных ответов починил его для меня.

то, что я сделал вместо этого, было запущено pod install С pod команда вне . Так например:

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end

я быстро исправил его и вернул странствующий стручок обратно в , где он принадлежал и побежал pod install еще раз:

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end

но тем временем произошло то, что lib -libPods.a добавлен в мои связанные библиотеки, которые больше не существуют и не следует, так как уже есть -libPods-My Target.a там.

такое решение было ехать в общие параметры и до связанные фреймворки и библиотеки и просто удалить -libPods.a из списка.


если кто-то пришел сюда, чтобы устранить ошибку react-native-fbsdk после установки с помощью Cocoapods имейте в виду, что вы должны удалить все другие .а файлы в ваших проектах собрать фаз и только держать .из cocoapods под названием libPods-WhateverAppName.a.

Only that remains here

это обычно вызвано запуском rnpm link и как работает rnpm.

после того, как я удалил ядро facebook .файл из моих этапов сборки мой проект был запущен и снова бегу.


была такая же проблема после обновления Deployment target с 7.0 to 8.0 и включения use_frameworks!

cocoapods не удалял ранее сгенерированные PodName.a файлы Frameworks раздел моего проекта.

поэтому мне пришлось удалить их вручную, потому что они вызвали linker error


мои действия:

  1. удалите папку pods и файл "Pods".
  2. введите "pod install" в терминал.
  3. введите "pod update" в терминал.

в дополнение к тому, что "Build Active Architectures" был установлен в YES, как упоминалось в предыдущих ответах, это было то, что сделало это для меня.


удалить все соответствующие файлы / папки импортированного источника cocoapods, кроме podfile.

install cocoapod снова.Это должно устранить любые избыточные притяжения от исходного источника.


для меня, после работал.

  1. перейдите к "цели проекта -> параметры -> обработки -> макросы препроцессора". Установите " COCOAPODS=1 "во всех Отладках, интеграции, выпуске в разделе"макросы препроцессора"
  2. добавьте следующее в "другие флаги компоновщика" в разделе " цель проекта"
    1. $унаследовал
    2. -ObjC
    3. - lc++
    4. -all_load

очистить и запустить проект. Если все еще ошибка получает то же самое, затем попробуйте, установив "цель проекта -> параметры сборки -> построить только активные архитектуры", установите "отладка" в "да" и установите "интеграция и выпуск" В "Нет". Затем повторите ту же настройку "строить только активные архитектуры" для всех "целевых модулей"

очистить и запустить проект. Если вы получаете следующую ошибку

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

затем попробуйте Мистер Майк ответ в этой ссылке

Xcode 5.1 - нет архитектур для компиляции (ONLY_ACTIVE_ARCH=YES, активные арки=x86_64 с, VALID_ARCHS=i386 с)

надеюсь, что это помогает!


когда вы клонируете проект откуда-то, который использует Cocoapods, вам нужно установить их в свой проект.

здесь шаг за шагом, что вам нужно сделать:

  • 1) клонировать исходный код на локальную машину;
  • 2) Закройте проект xcode (если открыт);
  • 3) Установите приложение cocoapods на свой mac, выполнив эту команду в терминале:"gem установить cocoapods" добавить "судо " в начале, если не работа;
  • 4) перейдите в корень вашего проекта xcode, используя "компакт-диск команда" в терминале;
  • 5) у вас должен быть Подфайл в этой папке; если вы хотите дважды проверить его, используйте:"cat Podfile" команда, она отобразит содержимое этого файла с библиотеками, которые должны быть установлены в ваш проект;
  • 6) затем с помощью "установка pod" команда для загрузки и установки библиотек в ваш проект; файл контейнера.lock будет создан и {имя проекта}.xcworkspace все;
  • 7) отныне вы должны использовать {имя проекта}.xcworkspace все чтобы открыть его в xcode;

удачи!


в проекте с несколькими целями у меня была та же проблема после изменения схемы и имени приложения и попытался обновить стручки. Проблема была вызвана из-за нескольких записей на этапах сборки - > связать двоичный файл с библиотеками, где оба предыдущих .библиотека и текущая были перечислены, в то время как предыдущая больше не существовала. Удаление библиотеки оттуда очистило проблему.


мой путь

  1. создать новый проект и установить pod он будет работать без ошибок.

  2. копировать текст в "другие флаги компоновщика" в новом проекте в старый проект. Сделать старый проект в новый проект.

  3. проверьте "пути поиска заголовка" тоже.


для меня это сработало. Я изменил имя приложения с someApp на otherApp. И я использую Cocoa pods для интеграции нескольких сторонних сервисов. Поэтому из-за этого добавлены 2 файла libPod(поскольку я изменил имя и цель приложения). Наконец, мне пришлось удалить один libPod. И это сработало.

цель - > фазы сборки - > связать двоичный файл с библиотеками


Я получил ту же ошибку.

вопрос: Я создал отдельную рабочую область и добавил в нее свой существующий проект. Я получил ошибку, когда работал над этим рабочим пространством.

исправления: позже я обнаружил, что рабочая область создается автоматически внутри существующего проекта при добавлении зависимостей. И работать над этим рабочим пространством.


приведенное ниже решение работало для меня для версии core-plot 2.3. Выполните следующие изменения в разделе другие флаги компоновщика.

1.Добавьте $(наследуется) и перетащите этот элемент в верхнюю позицию 2.Удалить "кубышку-" префикс -л"кубышку-fmemopen", л"кубышку-NSAttributedStringMarkdownParser" И -Л"кубышку-MagicalRecord".

Если все еще проблема сохраняется, наконец, посмотрите, установлен ли PODS_ROOT или нет. Вы можете проверить его в разделе user defined.


У меня была такая же проблема

установка pod и обновление pod в командной строке решите мою проблему


это была моя проблема при попытке интегрировать Firebase в мой проект Xcode с помощью cocoapods

library not found for -lGoogleToolboxForMac
linker command failed with exit code 1 (use -v to see invocation)

после нескольких часов поиска и опробования различных исправлений, перечисленных в stackoverflow, моя проблема была, наконец, исправлена, выполнив следующие шаги

  1. на Build Settings поиск Other Linker Flags, удалить все значения expect $(inherited) Image

сделайте это для всех цели.

  1. удалить папку pods. (ios/Pods)
  2. Do pod update

вуаля! Все ошибки компоновщика исчезнут.