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

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

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 

Это постоянное решение. В общем случае проект перезаписи может вызвать эти пролемы. Попробуйте этот метод.

-UPDATE – Ошибка Clang – Ошибка компоновщика Mach-O

В некотором случае окно журнала ошибок, отображающее ошибку .xctest, чтобы исправить это

-> Выберите свой проект

-> Рядом с этим (непосредственно перед вкладкой «Общие») выберите файл ProjectTest из раскрывающегося списка

-> Есть один вариант (например, ProjNameTests)

-> В главном приложении выберите свой проект из раскрывающегося списка, только если он отображает пользовательские

СДЕЛАННЫЙ!

введите описание изображения здесь

Старый метод удален

У меня была та же проблема, и проблема заключалась в том, что я случайно импортировал файл .m вместо .h в файл реализации – надеюсь, что это поможет

Просто столкнулся с тем же вопросом.

Решение (для меня) = проверьте свои фреймворки.

В моем случае я добавил classы, связанные с CoreData без «CoreData.framework». Добавление этого решения вызвало жалобу MACH_O.

открыть файл .xcworkspace не .xcodeproj. Я повторяю открытый файл .xcworkspace. Все ваши ошибки исчезнут.

Re: Проблема, как указано в заголовке:

На всякий случай кто-то пропустил очевидное …

Я столкнулся с этой ошибкой после установки новой версии Xcode4 и перетаскивания существующих файлов в новый проект. Я не заметил, что флажок «добавить к цели» не был отмечен в диалоговом окне «Выбрать параметры для добавления файлов:». Исправление моего упущения в Цели> Сформировать фазы> Скомпилировать Источники решили проблему.

Меню> Продукт> Очистить, вот что заставило его работать. Я не уверен обо всех остальных. Я добавил pic, чтобы показать.

введите описание изображения здесь

Необычная ошибка. Для меня я просто очистил и перезапустил Xcode, и проблема исчезла.

Исправить: установить параметры> Включить биткод> Нет введите описание изображения здесь

Проблема заключалась в том, что в XCode 4 зависимости не предполагают настройки архитектуры основного проекта, как это было ранее в XCode 3. Мне пришлось пройти через все мои зависимости, устанавливая их для правильной архитектуры.

Ни один из этих ответов не помог мне. Затем я попытался переустановить Cocoapods:

 pod deintegrate pod install 

Задача решена!

У меня было то же самое, и мне удалось это решить.

В настройках xcode , табуляция местоположения изменит значение в месте сборки на « Place build products in locations specified by targets" .

Некоторое время я боролся с этим, и в моем случае это стало настройкой сборки в пути поиска под названием FRAMEWORK_SEARCH_PATHS. Это помогло мне выбрать кнопку «Уровни», которая, казалось, сравнивала настройки моего проекта, цели и «Разрешенные». Я видел, что мой целевой параметр каким-то образом переопределил значение по умолчанию «$ (inherited)», а переопределенное значение было тем, что XCode «разрешил» настройку. Когда я удалил переопределение, которое в этом случае указало 3.2 sdk, ошибки компоновщика ушли – как недавно появились предупреждения о любых classах, где я называл методы post-4.0.

Об этих предупреждениях – я их никогда не видел, прежде чем я добавил структуру MessageUI для недавнего изменения. Я подозреваю, но не знаю точно, что, добавив эту фреймворк, XCode попытался сделать что-то умное, добавив это переопределение в мою цель. Я не делал этого явно в любой момент. Предупреждения были, например, о методе URLByAppendingPathComponent для NSURL, который не отображался до sdk 4.0. Перед добавлением структуры MessageUI я никогда не получал этого предупреждения. И поскольку я удалил переопределение, я больше не получаю их.

У меня была эта проблема, и я импортировал QuartzCore .

Изменение «Build Active Architectures Only» на Yes в CordovaLib.xcodeproj -> Настройки сборки сделало трюк для меня. ранее приложение запускалось на симуляторе, но не на устройстве.

Возможно, вам придется обновить настройки сборки.

Проверьте целевую версию iOS и архитектуры процессора, поскольку у вас могут не быть старых SDK с XCode 4.

Вы можете увидеть «Missing SDK» в настройках сборки. Измените это применительно.

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

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

Я просто пытаюсь создать файл category class и получил эту странную проблему … и, наконец, …

Неправильный способ создания classа категории, который вызывает проблему:

New File -> Cocoa Touch -> Objective-C class , затем я изменил имя файлов в Class Class, например name .. (например, OriginalClass_CategoryName.h/m в OriginalClass+CategoryName.h/m , а также изменил содержимое в файл).

Правильный путь здесь:

New File -> Cocoa Touch -> Objective-C category , и он будет автоматически генерировать файлы ( OriginalClass+CategoryName.h/m ).

О, как я глуп!

Если вы используете CoreData и используете XCode для создания подclassов NSManagedObject для своих объектов, убедитесь, что вы генерируете только один для каждого объекта.

Моя проблема заключалась в том, что он создал несколько подclassов NSManagedObject для одного и того же объекта (и помещал их в разные папки).

Я просто удалил все из них и восстановил подclassы NSManagedObject.

Чтобы добавить в список странных вещей, которые исправили эту проблему …

У меня были некоторые константные переменные CGFloat в глобальном заголовочном файле, например, так

 const NSInteger globalInteger1 = 2; const NSInteger globalInteger2 = 3; 

В тот момент, когда я удалил их, все было хорошо 🙂

У меня была точно такая же проблема только потому, что у меня были две одинаковые константы в разных classах. У вас также может возникнуть эта проблема, если вы импортируете файл .m file not .h file

Не уверен, что это связано, но, видя, что вы используете несколько библиотек три20, вы можете проверить этот пост на своем веб-сайте: http://three20.info/article/2011-03-10-Xcode4-Support

У меня была та же проблема, и я решил это. В моем случае установка «архитектуры» вызвала проблему. В моем файле проекта, вкладке «Настройки», «Архитектуры» были установлены в armv6. Я изменил его на Standard (armv7), очистил и построил. Тогда это сработало!

В моем случае проблема заключалась в том, что у разных целей были разные архитектуры. Я создавал свою целевую программу с помощью armv6, armv7 и cocos2d со стандартом (amrv7). Перейдите в настройки сборки и убедитесь, что ваши архитектуры согласны с целями.

Я решил эту проблему слишком странно!

Перейдите в « Целевая задача» > «Сформировать фазы» > « Ссылка» с библиотеками :

Удалите все свои фреймворки и добавьте их снова!

Надеюсь, это сработает для вас!

Для языка Swift …

Я получаю эту ошибку “ld: файл слишком мал (длина = 0) ….”

В моем случае я просто очищаю проект, а затем перестраиваю его.

Шаги: –

1) goto Project -> Clean

2) goto Project -> Build

Надеюсь это поможет..

Это помогло мне:

Идти к

1) Продукты> чистые

2) Windows> Проекты

3) Выберите проект и нажмите « Удалить » производные данные

4) Продукты> Построить

Одна возможность: Включите «Снятие мертвого кода» в настройках сборки Xcode 4.

Другая возможность: возможно, вы переключились на использование LLVM для некоторых фреймворков, которые ранее использовали GCC. Переход к GCC (или LLVM GCC) может избавиться от этих предупреждений.

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

Я смог исправить эту ошибку, отредактировав «Пути поиска библиотеки»,

Это произошло, в первую очередь, потому что я переместил пару папок, и это привело к тому, что мои настройки сборки установили два разных пути поиска, поскольку они автоматически добавляются к вашим настройкам сборки при связывании библиотеки / фреймворка, но они не всегда удаляется.

Поэтому, если вы перемещаете связанную библиотеку / фреймворк в другой каталог и перенаправляете его, вам придется вручную отредактировать путь поиска.

Вы можете уклониться от этого, удалив библиотеку / фреймворк, прежде чем перемещать его, но я не тестировал это.

  • Если «a == b» является ложным при сравнении двух объектов NSString
  • Можем ли мы пригласить людей использовать наше приложение или отправить запрос друга из приложения через Facebook в iOS 5?
  • Что мне нужно сделать, чтобы заставить Core Data автоматически переносить модели?
  • Как настроить размер содержимого UIScrollView динамически
  • Изменить цвет курсора в UITextField
  • Как отобразить изображение base64 в UIImageView?
  • NSMutableString как сохранить / скопировать
  • NSDateFormatter с 24 часами
  • Проблема с кодом: строка формата не является строковым литералом
  • Как я смогу удалить объекты из NSMutableArray?
  • Как получить разницу во времени в iPhone
  • Давайте будем гением компьютера.