Почему XCode не соответствует Target членству? - PullRequest
1 голос
/ 16 июня 2019

Я создавал множество синтаксиса c ++, чтобы помочь новичкам. Я использую XCode в качестве основного IDE. Я попытался запустить программу в "function" target, но она продолжает показывать эту ошибку.

duplicate symbol _main in: 
    /Users/xivya/Library/Developer/Xcode/DerivedData/parentcpp-afpbdfpaaxeerfdalgncgzpkuaqt/Build/Intermediates.noindex/parentcpp.build/Debug/function.build/Objects-normal/x86_64/manipulator.o
    /Users/xivya/Library/Developer/Xcode/DerivedData/parentcpp-afpbdfpaaxeerfdalgncgzpkuaqt/Build/Intermediates.noindex/parentcpp.build/Debug/function.build/Objects-normal/x86_64/pattern_program.o 
ld: 1 duplicate symbol for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Error code

Я выбрал «функциональную» цель сверху слева, см. Изображение -

Image contains Target members and entire structure

Но в средней правой части экрана цель «массив» выбрана в разделе «Членство в цели». Он выбирает себя автоматически. Всякий раз, когда я меняю свою цель на что-либо еще, никаких ошибок не происходит Любая помощь будет высоко оценена!

1 Ответ

1 голос
/ 20 июня 2019

Я разделю ответ на две категории.

> Охота за проблемами

Всякий раз, когда у вас есть несколько целей , скрывающихся в вашемструктура проекта, она может вызвать ту же ошибку, если игнорировать только одну вещь .Предположим, вы запустили цель и хотите запустить другую цель сейчас.Очевидно, что вы поменяете активную схему сверху слева.Более очевидно, что вы выберете соответствующий Фаз сборки НО можно пропустить минуту, чтобы изменить target из "выбрать проект или цель" опция скрывается в этом случае.Если вы не поняли меня, пожалуйста, прочитайте это снова или посмотрите эти картинки.

Здесь нет ничего плохого. указатели цель была выбрана и reference.cpp выполняется без проблем.

Теперь, что если мы решили запустить другую цель?Мы сделаем все обычные необходимые действия.

Мы выбрали function target и в Build Phases мы выбрали нужный файл. мы наблюдаем то, что указатели цель все еще выбрана, а Xcode не изменил ее.

Это создает проблему, которая приводит к ошибкамкак это:

Возможная ошибка, которая может отображаться, если пропустить изменение target в другом экземпляре, где Xcode уже должен был изменить target но не имеет.

Пожалуйста, помните об этих маленьких вещах.

> Значение ошибки

В большинстве случаев можно встретить "дубликат ... и т. д.".. "ошибка типа.Это может примерно означать, что XCode не уверен в том, какую цель запустить, поскольку вы, возможно, забыли изменить цель в другом экземпляре, возможно, в Фазы сборки pannel.

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