Ld: файл не найден: команда компоновщика не выполнена с кодом выхода 1
У меня возникла следующая ошибка при создании проекта в Xcode:
ld: файл не найден
/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events clang: ошибка: команда компоновщика не сработала с кодом выхода 1 (используйте -v для вызова вызова)
Я застрял в этой ошибке за последний час. Какие-нибудь решения?
Код работал отлично в iOS 7 и xCode 5.0. Теперь для iOS8 он дает мне эту ошибку.
Использование фреймворков:
- CoreTelephony
- MapKit
- Facebook.SDK v3.20
- Фонд
- CoreGraphics
- UIKit Framework
ПОЛНАЯ ОШИБКА:
<pre>
Ld /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests normal arm64
cd /Users/MacBookPro/Desktop/Social_Events/Social_Events/Social_Events
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
</pre>
>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -L/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos -F/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/Developer/Library/Frameworks -filelist /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests.LinkFileList -dead_strip -bundle_loader /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events -framework XCTest -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.1 -framework XCTest -framework UIKit -framework Foundation -Xlinker -dependency_info -Xlinker /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests_dependency_info.dat -o /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests
>ld: file not found: /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events
clang: error: linker command failed with exit code 1 (use -v to see invocation)
>(null): File not found: /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events
Ответы
Ответ 1
Вы можете получить эту ошибку, потому что вы переименовали свой проект и Tests
больше не можете найти. Это легко исправить:
Решите его в Xcode следующим образом:
- Выберите проект из навигатора проекта.
- Выберите
[Your project Tests]
под цель
- На вкладке
General
измените значение Host Application
в раскрывающемся списке
- Сборка и запуск.
![Screenshot]()
Эта проблема произошла со мной, потому что я переименовал свой проект, и тесты больше не могли его найти.
Ответ 2
Проблема заключается в том, что после переименования продукта его целевая задача Tests все еще ищет предыдущее имя приложения.
Выберите целевую аудиторию, а затем в настройках сборки измените значения TestHost, чтобы соответствовать имени вашего нового продукта следующим образом:
$(BUILT_PRODUCTS_DIR)/YourNewProductName.app/YourNewProductName
Ответ 3
Я решил это, переименовав продукт.
В целевом приложении выберите "Настройки сборки".
В разделе "Параметры упаковки" вы должны переименовать свой продукт на имя, указанное в ошибке.
Он решил мою проблему, и код начал компилировать. Мои тестовые примеры также выполняются.
Ответ 4
У меня была аналогичная проблема - это потому, что я использовал Cocoapods и открыл файл .xcodeproj вместо файла .xcworkspace... doh!
Ответ 5
Вы пытались очистить свои производные данные?
Xcode5->Organizer->Projects->Select your project->Delete the derived data.
Ответ 6
Попробуйте удалить цель "Social_EventsTests".
Ответ 7
- Перейти к настройкам сборки ваших тестов под названием PuzzleGameTests.
- Перейдите к настройкам тестирования, напишите $(BUILT_PRODUCTS_DIR)/PuzzleGame.app/PuzzleGame
- Очистить и построить
Примечание. PuzzleGame - это новое имя моего проекта (название продукта).
RandomNumber - это старое имя моего проекта (название продукта).
Ответ 8
Я столкнулся с подобной проблемой при добавлении FBSDKCoreKit.framework
, а решение было:
- Если
frameworks
уже добавлен, удалите его с опцией remove all references
.
- Перетащите
frameworks
прямо в group
, который вы хотите добавить в проект.
- не перетаскивайте или не изменяйте его местоположение после
Примечание. Когда мы перетаскиваем фреймворки в xcode, он автоматически устанавливает путь поиска рамки в <yourproject> -> Targets -> <yourproject> -> Search Paths -> Framework Search Paths
.
как только мы перемещаем рамки, Framework Search Paths
становится пустым, и это приводит к linker error , framework not found
.
Ответ 9
У меня была аналогичная проблема, когда я добавил цель unit test в мой существующий проект. Получил всевозможные ошибки. Пришлось бежать через некоторые петли, чтобы наконец запустить его. Листинг ниже
-
Убедитесь, что ваша запись в пути поиска заголовка для тестовой цели совпадает с тем, что для пути поиска заголовка в вашей основной папке проекта
-
Если вы используете контейнеры, вы можете запустить некоторую ошибку, например "No Module found Firebase". Для этого просто добавьте следующие строки кода в свой файл pod и запустите pod install
target 'YourProjectNameTests' do
наследуют!: search_paths
# Подставки для тестирования
конец
-
Если вы также получите сообщение об ошибке с заголовком Bridging, как я сделал, убедитесь, что вы добавили то же самое для своей тестовой цели в настройках сборки в разделе кода компиляции Swift.
-
Также вам нужно будет следовать шагам, указанным @Jose Llausas
Ответ 10
У меня была проблема с "framework not found". Это было после переименования моего проекта.
Перейдите в Настройки проекта, выберите цель (а не проект). На вкладке "Общие" найдите "Связанные структуры и библиотеки" и удалите старое имя.