Ошибка связывания в Xcode - PullRequest
       24

Ошибка связывания в Xcode

13 голосов
/ 18 февраля 2010

Я получаю эту ошибку после добавления файла libxml2.2.dylib

 Linking /Users/Biranchi/Desktop/Funmovies TabBarController/build/Debug-iphonesimulator/funmovies.app/funmovies (1 error)
 in /Developer/Platforms/iphoneOS.platform/Developer/SDKs/iphoneOS3.0.sdk/lib/libobjc.A.dylib, missing required architecture i386 in file

Command /XCode3.1.4/platforms/iphoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

Что это за ошибка из-за ??

Все предложения приветствуются.

Спасибо Biranchi

Ответы [ 12 ]

34 голосов
/ 14 июля 2011

Убедитесь, что вы импортируете с правильным расширением.

Я получил ошибку, когда по ошибке написал #import "AClass.m" вместо #import "AClass.h": -)

8 голосов
/ 15 октября 2011

Мне пришлось удалить эту библиотеку libz.1.2.3.dylib и добавить эту библиотеку libz.1.2.5.dylib.После этого скомпилировано нормально.

5 голосов
/ 29 апреля 2011

Попробуйте продукт -> Очистить. Работал на меня.

3 голосов
/ 29 июля 2012

How to add as a compiled source

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

2 голосов
/ 05 марта 2012

просто удалите libz1.2.3 и добавьте библиотеку libz1.2.5 в фазу сборки.

2 голосов
/ 12 февраля 2011

У меня была похожая проблема при создании проекта, но на этот раз с файлом timbreID.c

arm-apple-darwin10-gcc-4.2.1: timbreID.c: No such file or directory
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

После нескольких попыток я наконец просмотрел «Цели» в моем проекте XCode и понял, что файл timbreID.c был красным (= не найден). Я щелкнул правой кнопкой мыши и выбрал новый путь вручную.

После этого: сборка прошла успешно *

2 голосов
/ 04 марта 2010

Получена та же ошибка, теперь даже когда я удалил libxml2 из ошибки проекта, все еще здесь :) Этот sh ** y XCode написал это:

LIBRARY_SEARCH_PATHS = (
+                    "$(inherited)",
+                    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib,
+                );

в конфигурационный файл проекта "project.pbxproj" в "MyProj.xcodeproj".

Вы можете изменить этот путь руками на что-то вроде:

LIBRARY_SEARCH_PATHS = (
+                    "$(inherited)",
+                    /Developer/Platforms/iPhoneSimulatorOS.platform/Developer/SDKs/iPhoneSimulatorOS3.0.sdk/usr/lib,
+                );

Но не забудьте изменить его обратно при компиляции в устройство. Я постараюсь найти более простой способ решения этой проблемы.

1 голос
/ 26 июня 2012

Если это проблема, связанная с конкретной каркасной работой, убедитесь, что она включена на этапе сборки.Для меня мне пришлось добавить MessageUI.framework: в Xcode 4 перейдите на вкладку фаз сборки для вашей цели.Убедитесь, что вы видите рамки, которые вы используете.Если его там нет, нажмите +, чтобы добавить его.

1 голос
/ 19 августа 2010

У меня была такая же проблема, и я продолжал проверять информацию о цели

В путях поиска библиотеки была эта запись, "$ (DEVELOPER_DIR) /Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/usr/lib"

Я удалил его, и приложение заработало !!!

0 голосов
/ 14 ноября 2012

Добавьте к ответу Грэма Хита - который, я думаю, заслуживает большего внимания в теме.

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

Моя ошибка была: «Команда компоновщика завершилась неудачно с кодом выхода 1 (используйте -v, чтобы увидеть вызов)», касающимся пары ошибок в CoreLocation:

"Неопределенные символы для архитектуры armv7: "_OBJC_CLASS _ $ _ CLLocationManager", на который ссылаются из: objc-class-ref в NPTViewController.o "

Я добавил CoreLocation.framework, и работа была выполнена.

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