Ошибка команды Linker с ошибкой кода выхода 1 в проекте Xcode

Я работал над своим проектом и вдруг после редактирования кода и компиляции дал эту ошибку:

ld: warning: каталог не найден для опции '-
L/Пользователи/mani/Документы/Классы/Twitter + OAuth/Библиотеки и заголовки ld: дублирующий символ _OBJC_CLASS _ $_ playSiew в /Users/mani/Library/Developer/Xcode/DerivedData/learn -aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/playSiew.o а также /Users/mani/Library/Developer/Xcode/DerivedData/learn -aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/Thumb.o для архитектуры i386 clang: ошибка: команда компоновщика не удалась с выходом код 1 (используйте -v, чтобы увидеть вызов)

Я никогда не касался настроек проекта, просто отредактировал код.

Что еще более странно, что я вынул последний переработанный код из svn, но все же я получил ту же ошибку.

Ответ 1

Как я уже сказал, проблема была не в коде, а в некоторых настройках. Итак, что я сделал, это копирование кода с Mac Mac моих друзей (он отлично работал) и установил новую копию проекта на мой Mac. Это сработало.

Ответ 2

Возможно, вы случайно #import '.m файл вместо .h. Используйте Cmd + Shift + F и ищите ".m" (без кавычек). Скорее всего, это будет один из классов, упомянутых в предупреждении. Если нет, очистите и снова запустите.

Ответ 3

У меня также была такая же проблема, и я сделал следующее, и проблема исчезла.

Перейдите в Продукт Очистить и запустите проект.

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

Ответ 4

После запуска этой проблемы несколько минут назад (да, я знаю, что прошло 7 месяцев с момента создания), я обнаружил, что корень моей проблемы был вызван перетаскиванием файлов в мой проект в XCode вместо правильного -clicking и выбор "Добавить файлы в проект".

Ответ 5

Проверить, что playSiew.m находится в разделе "Источники компиляции". не так ли?

Вы можете найти раздел "Источники компиляции", следуя этому шагу.

  • Выберите YourProjectName
  • Выберите TARGETS
  • Выбор фаз сборки

Если в этом разделе нет playSiew.m. Вы должны добавить его в этот раздел.

Ответ 6

Я импортировал библиотеку в тестовом примере, который я указал в моем файле pod для основной цели, но не для целевой цели.

Ответ 7

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

Ответ 8

Столкнувшись с подобной проблемой, при запуске кода на симуляторе, попробовав все вышеупомянутые опции, по-прежнему получена такая же ошибка. Пробовал подключать устройство iOS и строить код, он сработал для нас. Это может быть быстрое обходное решение.

Ответ 9

Если вы работаете в Unity и экспортируете в iOS, и вы используете плагин, перейдите в Xcode Build Settings и установите ENABLE BITCODE = NO. Я предполагаю, что это может относиться и к другим ситуациям.

Ответ 10

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

как D80Buckeye говорит, что проблема с перетаскиванием файлов должна быть проблемой, а не нажатием кнопки "Добавить файлы"

Ответ 11

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

Ответ 12

Я только что столкнулся с той же ошибкой. Если вы используете встроенные библиотеки, убедитесь, что для вашей цели развертывания установлено значение iOS 8.0 или новее.

Ответ 13

вам нужно добавить следующую структуру: quartzcore.framework

Ответ 14

Единственный способ, которым мы можем преодолеть эту ошибку в нашем проекте, - это сделать "Чистый", а затем построить для iPad Retina. После этого он будет успешно создан для любого устройства. Weird.

Ответ 15

В моем случае у меня есть ссылка на фреймворк FacebookLoginSDK, но забудьте указать путь поиска в настройке сборки. После удаления ссылки все было в порядке.

Итак, сделайте вывод, что если вы добавляете какую-либо внешнюю структуру, будьте осторожны.

Ответ 16

Если это происходит с генерируемыми классами CoreData, объедините + CoreDataProperties и + CoreDataClass в класс + CoreDataProperties и удалите + CoreDataClass. Обязательно выполните поиск Derived Data для остатков + CoreDataClass. Даже после удаления Derived Data и очистки я иногда Xcode просто генерировал + CoreDataClass снова и снова. Удаление его вручную в Finder, а затем повторное наращивание помогло мне решить эту проблему.

Ответ 17

попробуйте это, перейдите в Target → Build Settings, затем выполните поиск по этим трем следующим образом:

GCC_NO_COMMON_BLOCKS,

CLANG_WARN_INFINITE_RECURSION,

CLANG_WARN_SUSPICIOUS_MOVE,

установите NO для каждого значения, затем очистите и постройте.

Ответ 18

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

Ответ 19

Я попробовал несколько ответов, но никто не работал у меня. Я получил сообщение об ошибке после обновления XCode (хотя он все еще был открыт, что, возможно, способствовало возникновению проблемы)

Сначала, я удалил папку Derived Data: XCode = > Предпочтения = > Местоположения = > Двойной щелчок на стрелке рядом с дорожкой, указывающей, где находится папка Derived Data. Затем "Переместить в корзину" Я не думаю, что проблема была, но удивительно, сколько раз это было проблемой для меня, работая над различными проблемами.

Второй, я выхожу из симулятора.

Третий, я 'Quit' XCode.

Четвертый, я снова открыл свой проект в XCode, а затем выполнил команду "Очистить" и "Сборка" (в меню "Продукт" )

Пятый, я запускал свой проект, и он работал нормально

Ответ 20

Очистка проекта не работает для меня. Перезапустите Xcode для меня...

Ответ 21

Перейдите в общие и связанные фреймворки и библиотеки в xcode и удалите все файлы там.

enter image description here