Не вдалося виконати команду /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang із кодом виходу 1


77

Я намагаюся зробити програму, читаючи pdf, використовуючи pdf kit у Xcode 4.3, але це видає мені таку помилку

ld: duplicate symbol _OBJC_METACLASS_$_OverlayManager in /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-D0866CFD31A05E68.o and /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-B31AE7412100AF6D.o for architecture i386
Command /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

будь-яка допомога, будь ласка ??


2
Можливо, ви мали #importабо файл в будь-якому з файлів? #include.m
Крістіан Шнорр,


є сотні публікацій "дублікатів символів". Що ви зробили для розслідування?
Макс Маклауд,

перевірте свої етапи побудови> Компілювати джерела Видаліть червоні кольори. Також перевірте, чи є у вас дубльовані оператори імпорту
руда,

Відповіді:


95

Налаштування проекту> У розділі «Цілі» виберіть свій проект> Фази побудови> відкрийте «Компілювати джерела» та «Копіювати ресурси пакета». Перевірте, чи немає файлів у червоному кольорі. Якщо так, просто видаліть його. Потім почистіть і біжіть.

Працював у мене.


3
Будь ласка, надайте більше інформації. Що робити, якщо є "Червоні речі"? Це зовсім не корисно ...
werdsackjon

2
"Червоний матеріал" означає помилки. Ви не можете пропустити їх, якщо вони там є.
ullstrm

2
Файли червоного кольору можуть бути присутніми в джерелах компіляції або копіювати пакетні ресурси. Я відредагував відповідь так.
Vineeth 02

Іноді вам потрібно додати файли до проекту, а не видаляти посилання з "Компілювати джерела".
ULazdins

1
Тільки для запису, здається, НЕ ВСІ червоні елементи від’єднані! (Для мене це була Main.storyboardта деякі кінцівки, яка залишається червоною). У мене були неправильні шляхиBuild Settings
longi,

36

Робіть чистку. product > clean. Очищення та перезавантаження терміналу для мене не спрацювали, чистка зробила.


3
«Продукт> Очистити» мені не вдалося, але «Продукт> Очистити папку побудови ...». (Ви бачите це, коли утримуєте клавішу Alt натиснутою під час випадаючого списку Product.
Adil Hussain

Фантастично! Врятував мій день.
Саураб Падвекар,

14

У мене була та сама помилка, і, здається, ніхто не має відповіді на StackOverflow, яка насправді працює. Моя проблема полягала в тому, що я спробував скопіювати проект, який знаходився у сховищі команд. Виявляється, у файлі ігнорування всі файли з розширенням *.pchігнорувались з комітів сховища. Це означає, що коли я пішов витягувати проект із репозиторію, .pchфайл відсутній, тим самим видаючи цю помилку.

На щастя, у мене все ще була копія проекту, я зміг просто скопіювати .pchфайл, і тоді я зміг скомпілювати дуже добре.

Сподіваюся, це допомагає?


5

Перейдіть до налаштувань націлювання, вкладки "Підсумок", знайдіть "Ціль розгортання" та збільште його


2
де це? збільшити з чого на що?
Ескаррут,

@Esq в навігаторі проектів виберіть свій проект (синій значок), далі виберіть ціль у головному вікні (параметри там: проект, ціль 1, ціль 2, ...). У головному вікні знайдіть "Ціль розгортання" та збільште його до чогось сучасного (наприклад, 8.1)
fnc12


2

Я теж стикаюся з цією проблемою. І часто я шукав допомогу в SO замість того, щоб використовувати здоровий глузд і перевіряти повідомлення про помилку.

Остання частина повідомлення про помилку була такою ж, як і ви.

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 11

Але кілька рядків вище я знайшов:

In file included from /Users/Ricardo/Documents/XCode/RealEstate-Finder-v1.2/RealEstateFinder/RealEstateFinder/RealEstateFinder-Prefix.pch:26:
/Users/Ricardo/Documents/XCode/RealEstate-Finder-v1.2/RealEstateFinder/RealEstateFinder/Config/Config.h:174:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
http://www.myserver.com/apps/mobile/rest.php?id=12

Що вказує на мій файл Config.h.

Щасливого кодування!


Я відчуваю себе такою кружкою, вона була прямо перед мною весь час. Дякую!
Gmeister4,

1

Ви випадково включили файл .m OverlayManager замість файлу .h до самого класу OverlayManager! По суті, він компілятор вже знає, як скомпілювати файл .m, але коли ви # імпортуєте його, компілятор намагається включити його в рядку з тим самим вихідним файлом, таким чином генеруючи повторювані символи. Але ваш випадок унікальний, оскільки ви #importing .m фактичного файлу .m-файлу! Він рекурсивно компілює ваш клас OverlayManager.


1

Те саме трапилося зі мною, і я виявив, що забув поставити "в кінці"

#import "CPDConstants.h

так замість цього

#import "CPDConstants.h"

ви маєте на увазі замість #import "CPDConstants.m"?
Eman87

1
Ні, це сталося, коли я забув поставити лапки в кінці.
i_duhh_bomb

1

Для мене ця помилка з'являється після клонування проекту зі сховища. Хтось видалив пробіл з назви проектів (перейменований: «Проект» на «TheProject»), що спричинило деякі Build Settingsпомилки до недійсних шляхів.

Іноді читання всіх журналів помилок - це не погана ідея ....


1

Спробуйте це - клацніть на назві вашого проекту у списку файлів / папок ліворуч у Xcode (у самому верху списку). Подивіться на розділ "Цілі" в лівій частині вікна праворуч. Швидше за все, є два перелічені, другий - елемент "тесту". Клацніть правою кнопкою миші на цьому елементі та виберіть "видалити". Потім спробуйте запустити проект ще раз.


1

Ця проблема зазвичай виникає, коли встановлено більше двох версій XCode, у яких різні версії Swift включені для Ex. Встановлено XCode 6.4 та XCode 7.3, які працюють під управлінням Swift 1.2 та Swift 2.0. Помилково ви намагаєтесь скомпілювати код із неправильною версією для Ex. ваш проект у Swift 1.2, і ви намагаєтесь скомпілювати його за допомогою xcode 7.3. У цьому випадку дані накопичувача зберігають інформацію для швидкої версії, але при спробі скомпілювати код із правильним XCode це видає помилку. Щоб вирішити це

  1. Видалити дані накопичувача
    a. У Xcode виберіть налаштування

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

  1. Після відкриття налаштувань натисніть вкладку Розташування та клацніть стрілку навпроти шляху "Керовані дані". Відкриється папка з керованими даними

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

  1. Закрийте Xcode
  2. Видаліть усі дані накопичувача.
  3. повторно відкрити проект у правильній помилці XCode виправлено !!!!!!

0

Тут слід врахувати файл * .pch. Якщо ви робите включення із зовнішньої бібліотеки, ви повинні переконатися, що робите включення після #ifdef OBJC і перед #endif. Якщо ви намагаєтеся внести включення поза цією умовою, це може бути причиною помилки компілятора.


0

Якби це сталося в команді, яка використовує git. Один із членів команди додав клас із зовнішнього джерела, але не скопіював його в каталог репо. Локальна версія складена нормально, але безперервна інтеграція не вдалася з цією помилкою.

Повторний імпорт файлів та додавання їх до каталогу під контролем версій виправили це.


0

У мене теж була ця помилка. Але в моєму випадку, і я впевнений, що я тут один, я випадково видалив main.m, коли натиснув клавішу видалення після того, як програма розбилася на симуляторі iPhone.

Після аварії Xcode показує файл main.m, і коли я натиснув кнопку видалення, я випадково видалив файл main.m зі свого проекту, як це легко зробити, коли виділено ім'я файлу, а не код у деталях вид.

Main.m зазвичай знаходиться в групі або папці з іменами допоміжних файлів у менеджері файлів проекту. Я не помічав, що це сталося, доки наступного разу не вдалося побудувати та запустити, а потім мені довелося перечитати повідомлення про помилку уважніше і побачити, що головне.m відсутнє.

Дякуємо усім за введені дані, але про всяк випадок, якщо хтось у моєму становищі, перевірте будь-які імена файлів червоним кольором, що відображають відсутні файли, та відновіть їх із резервної копії, якщо у вас є.


0

Додавання відсутніх файлів (файли червоного кольору в Xcode-> target-> Phases Build-> скомпільовані джерела) до цільової папки вирішило проблему для мене.


0

Моя проблема полягала в тому, що під Фази збірки -> Джерела компіляції я додав прапор компілятора для файлу, але помилково написав його. Це мало бути:

-fno-obj-arc

щоб показати, що цей файл не використовує ARC.


0

Можливо, це комусь буде корисно: у мене сталася та сама помилка після видалення декількох файлів із проекту. Після видалення, здійсненого у сховищі git, ця помилка пішла ...


0

Xcode 8

@ Спок в відповідь є правильним,

Але якщо ви не знайдете файл червоного кольору , знайдіть файл із низькою прозорістю,

побачити це зображення,

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

Перший є, але другий - там примітка, тож видаліть його.


0

Мій випадок, я виправляю це:

Перейдіть до Фази побудови та перевірте файли компіляції джерел , перевірте, чи є в ньому дублікат файлу, просто збережіть його.


0

У моєму випадку це був повторний Swift Flagзапис всередині налаштувань збірки мого цільового пункту> Інші швидкі прапори. У мене було два -Xfrontendзаписи.


0

У моєму випадку

Фази побудови -> перевірка файлів компіляції джерел -> видалення файлів xxx.swift, у яких xcode говорить "не вдається знайти" xxx.swift "


-1

Це трапилось зі мною, і мені знадобилася година, щоб його знайти. У моєму випадку я надрукував занадто швидко і зробив:

[seld method];

замість:

[self method];

Серйозно! Не знаю, чому це не вловило це більш впізнаваним чином. Але це, звичайно, шукав клас під назвою "проданий".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.