Я получаю сообщение об ошибке после того, как я разместил заявку в AdMob. Приложение работало до сегодняшнего дня. Ошибка заключается в следующем:
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Как я могу это исправить? Спасибо.
Ответы:
Иногда вы просто удаляете ссылку на библиотеку и снова добавляете ссылку.
Помимо добавления SDK Google Mobile Ads и других библиотек снова, я бы порекомендовал вам проверить пути поиска библиотек . Существуют случаи, когда вы копируете или дублируете цель, XCode решает, что ему нужно избегать любых двойных кавычек "с помощью" \ ". Убедитесь, что вы удалили все \" - это должно выглядеть следующим образом -
Я смог продублировать ошибку, выполнив префикс моего пути с несколькими '\'.
источник
У меня была похожая проблема "библиотека не найдена". Однако это было потому, что я случайно использовал
.xcodeproj
файл вместо.xcworkspace
файла.источник
Выберите вашу цель, перейдите
"Build Phases"
в"Link Binary With Libraries"
удалить".a"
файл этой библиотеки. Очистить и построить.источник
Если ошибка связана с Cocoapods следующим образом:
Вы должны проверить другие флаги компоновщика и удалить его оттуда.
источник
Для моего случая Xcode 7 , также работал в Xcode 9.1
установить
Build Active architecture Only
наYes
источник
Это происходит, если вы используете cocoapods, используйте
.xcworkspace
файл вместо файла по умолчанию.xcodeproj
.источник
Если ошибка похожа на следующую
ld: библиотека не найдена для -lpods
Я обнаружил, что файл "libPods.a" красного цвета (например, отсутствующие файлы) был каким-то образом создан в группе Framework проекта. Я просто удалил этот файл, и все стало хорошо.
РЕДАКТИРОВАТЬ: другое решение
Другое решение, на которое я уже ответил в подобном вопросе, находится в этой ссылке
источник
Перейти к этапам сборки -> Связать двоичные файлы с библиотеками и удалить библиотеку, в которой отображаются ошибки, поскольку эта библиотека недоступна в папке проекта
источник
libPods-Foo BarTests.a
а другая названнаяlibPods-FooBarTests.a
.Это также может произойти, если вы откроете файл проекта вместо рабочей области. Я потратил впустую как этот день сам.
источник
Поздно для ответа, но вот список вещей, которые я пытался. Так что это будет в одном месте, если кто-то хочет попытаться решить проблему.
источник
В моем случае возникла проблема с именами. Моя библиотека называлась
ios-admob-mm-adapter.a
, но Xcode ожидал, что имя должно начинаться с префикса lib . Я только что переименовал мою библиотеку вlibios-admob-mm-adapter.a
и исправил проблему.Я использую Cocoapods, и он связывает библиотеки с опцией Other linker flags в настройках сборки моей цели. Флаг выглядит как
-l"ios-admob-mm-adapter"
Надеюсь, это поможет кому-то еще
источник
Просто
GoogleAdMobAds.a
отсутствует в цели проекта. Для меня это былоlibAdIdAccessLibrary.a
Пожалуйста, проверьте прикрепленный скриншотисточник
Что касается меня, эта проблема возникает, потому что я установил Библиотеку материалов для IOS. решить эту проблему
1: Перейдите в настройки сборки вашего целевого приложения.
2: Поиск других флагов компоновщика
3: Откройте другие флаги компоновщика и проверьте наличие библиотеки, которая упоминается в сообщении об ошибке.
4: уберите этот флаг.
5: Очистить и построить.
Я надеюсь, что это исправит вашу проблему.
источник
В случае
ld: library not found for -{LIBRARY_NAME}
произошло, потому что файл библиотеки (ов) не существует.Путь к файлам библиотеки должен быть в соответствии с реальным путем, например, если ваш файл (ы) в корне проекта, вы должны установить путь как
$(PROJECT_DIR)
источник
Я знаю, что это немного устарело, но я столкнулся с подобной проблемой, и запуск «pod update» исправил это для меня. Моя ошибка библиотеки была с AFNetworking ...
Просто будьте осторожны при обновлении pod, если вы не используете явные версии в вашем файле pod.
источник
Эта ошибка очень странная.
У меня была эта ошибка с -ldAfnetworking, и я только копирую свой проект по другому пути и работает.
источник
Я попытался переименовать мою конфигурацию сборки
Release
вProduction
, но, видимо, какао-бобам это не нравится. Я переименовал это сноваRelease
, и все строит просто отлично.источник
Ответ @ raurora указал мне правильное направление. Я включил библиотеки в мой путь "watchkitapp Extension / lib". В этом случае путь поиска в библиотеке должен был быть экранирован знаком '\', но компоновщик, похоже, этого не понимал. Чтобы исправить / обойти проблему, я переместил свой путь к lib на один уровень, чтобы он больше не находился в каталоге с пробелом в имени.
источник
Я просто обновляю файл pod 'pod update', и он начинает работать для меня нормально.
источник
Запуск pod update в моем проекте устранил мою проблему с ошибкой «библиотека не найдена для -lSTPopup».
Отмечая ответ Тревора Панхорста:
«Просто будьте осторожны при обновлении pod, если вы не используете явные версии в вашем файле pod».
источник
Простое решение. Вот как я могу решить эту проблему:
platforms/ios
pod install
Вот и все. Это должно установить недостающую библиотеку.
источник
Ушел...
источник
Это ошибка времени компиляции,
Static Library
которая вызванаStatic Linker
Вы можете получить ошибку,
Library not found for
если вы не указали путь кLibrary Search Paths
ld
означает,Static Linker
что не может найти местоположение библиотеки. Как разработчик, вы должны помочь компоновщику и указатьLibrary Search Paths
Также вы можете получить эту ошибку, если вы впервые откроете новый проект (
.xcodeproj
) с поддержкой Cocoapods, запуститеpod update
. Чтобы это исправить, просто закройте этот проект и откройте вместо него созданное рабочее пространство (.xcworkspace
)источник
Я получаю похожие ошибки в библиотеке не найдены. В конечном итоге это то, как мне удалось решить
источник