Apple Mach-O Linker Ошибка при компиляции для устройства - PullRequest
237 голосов
/ 16 марта 2011

Я только что обновился до xcode 4.0 и больше не могу развертываться на iPhone, я получаю ошибку компоновщика Apple Mach-O, хотя она все еще работает для симулятора.

    Ld /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel normal armv7
    cd /Users/yveswheeler/iParcel
    setenv IPHONEOS_DEPLOYMENT_TARGET 3.2
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -L/Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos -F/Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos -filelist /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel.LinkFileList -dead_strip -all_load -ObjC -lxml2 -miphoneos-version-min=3.2 -framework UIKit -framework CoreGraphics -framework QuartzCore /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Core.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Network.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Style.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UI.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UICommon.a /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UINavigator.a -framework AddressBook -lz.1.2.3 -framework Foundation -framework CFNetwork -framework MobileCoreServices -framework SystemConfiguration -framework MessageUI -framework AudioToolbox -o /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Intermediates/iParcel.build/Debug-iphoneos/iParcel.build/Objects-normal/armv7/iParcel

arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Core.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Network.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20Style.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UI.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UICommon.a: No such file or directory
arm-apple-darwin10-g++-4.2.1: /Users/yveswheeler/Library/Developer/Xcode/DerivedData/iParcel-fkeqjcjcbbhjwhdssjptkdxzzzxh/Build/Products/Debug-iphoneos/libThree20UINavigator.a: No such file or directory
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 failed with exit code 1

Ответы [ 67 ]

1 голос
/ 03 августа 2012

Если вы получаете предупреждение или ошибку Mach-O Linker с надписью «Каталог не найден для параметра», найдите путь к этому каталогу. Если он отсутствует, попробуйте загрузить последнюю версию RestKit и поместить папку вручную.

1 голос
/ 13 мая 2017

Моя проблема заключалась в том, что я не определил переменные как extern в одном из моих заголовочных файлов, и он был повторно объявлен в файле .c.

1 голос
/ 12 октября 2013

Я случайно добавил две копии одного и того же подкласса UITableViewController. Удаление одного из наборов файлов устранило ошибку.

0 голосов
/ 30 мая 2012

Я исправил это, изменив тип Mach-O в разделе ссылок в настройках сборки с Ничего на Исполняемый файл.

0 голосов
/ 03 ноября 2016

В моем случае причиной такой ошибки Apple Mach-O Linker было включение файла исходного кода (.m) в целевой объект пакета ресурсов.

Убедитесь, что недавно созданный файл .m не включен в пакет: выберите файл в навигаторе проекта, откройте инспектор файлов и убедитесь, что в разделе Target Membership снят флажок пакета ресурсов.

0 голосов
/ 05 октября 2012

Попробуйте очистить свой проект и скомпилировать.

0 голосов
/ 01 апреля 2015

Я хотел бы поделиться еще одной причиной, когда я получил эту ошибку:

Я изменил имя проекта в Project Navigator (в Xcode 6.1.1) одним щелчком мыши по нему, и мой проект не будет компилироваться,Я изменил имя проекта обратно на старое имя, проект строился.Очень очень странно, но да, я столкнулся с этим.Я надеюсь, что эта информация поможет.

0 голосов
/ 10 февраля 2015

Моя конкретная ошибка была:

ld: entry point (_main) undefined. for architecture armv7

Что должно было быть очевидным, но это потому, что main.m не был включен в Compile Sources под Build Phases

0 голосов
/ 07 февраля 2015

Я думаю, что лучший ответ - изучить импорт файлов, некоторые проблемы имеют импорт.

пример: include #import "file.m" или же включить внешний файл .h

...

0 голосов
/ 27 января 2015

У меня была та же проблема, так как я перетаскивал некоторые файлы .h и .m в свой проект, и Xcode начал показывать мне эту ошибку clang: error: команда компоновщика завершилась с кодом выхода 1 (используйте -v, чтобы увидетьвызов) во время работы.

Позже я обнаружил, что у меня уже есть .h & .m в моем проекте Xcode под каким-то другим подпапкой.Поэтому я удалил эти Extra .h и .m, Очистил мой проект и теперь он работает.

clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова) Эта ошибка возникает по ряду причин, поэтому у этого вопроса так много ответов.Вам просто нужно увидеть и проверить;в каком случае вы попадаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...