Различные программы в одном проекте Xcode C++

Я пытаюсь использовать XCode в качестве среды обучения для простых программ на C++. Если я создаю новый проект, я могу успешно все завершить (скомпилировать, запустить), но если я добавлю еще один файл, он не сможет скомпилироваться как отдельный. Это означает, что мне нужно иметь main2() и main3() и т. д., потому что наличие 2 файлов с двумя main() в одной папке приводит к ошибке.

Простыми словами, я хочу написать код для 30 примеров C++, каждый в своем файле .cpp и скомпилировать каждый из них отдельно, а не как целый проект (все файлы вместе, которые Если есть две функции с одинаковым именем, он рухнет).

Вам нужно будет создать отдельную цель для каждого файла. Вот дополнительная информация на страницах Apple: developer.apple.com/library/mac/recipes/…
Я не верю, что это подойдет, потому что мне нужно настроить новую схему для каждого файла. Мы говорим о helloworld.cpp, factorial.cpp и т. д. — совершенно разные программы из книги.
Э-э, вам придется немного подождать, пока я не сделаю больше скриншотов. Вы должны сделать отдельные цели, чтобы иметь возможность компилировать отдельные программы.
Я не хочу компилировать 30 программ каждый раз, когда в одной из них меняю букву. В случае, если XCode поддерживает этот тип использования.
Смотрите мой ответ. Вы скомпилируете только один файл, просто измените цель, которую хотите скомпилировать.
Я не могу создавать новые цели, потому что, когда я пытаюсь создать одну, кажется, что выбрана только первая.

Ответы (1)

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

Чтобы добавить новую цель, выберите: Файл -> Создать -> Цель.. , выберите, например, Инструмент командной строки . Убедитесь, что он правильно добавлен в Ваш проект. Вот пример:введите описание изображения здесь

My main.cppдобавляется к цели multiple_targetsследующим образом:введите описание изображения здесь

Мой main-kopia.cppфайл добавляется target2вот так:введите описание изображения здесь

чтобы быть уверенным, проверьте фазы сборки для каждой цели, вот пример моей target2фазы сборки:введите описание изображения здесь

С этим я могу скомпилировать main.cppи main-kopia.cpp. Обратите внимание, что они оба имеют main()внутри себя.

не очень гибкий, но, по крайней мере, работает.
Разве не стоял вопрос о компиляции файлов по отдельности? При этом, даже когда я создаю разные цели. Когда я нажимаю сборку, вызывается только первый файл main.cpp по умолчанию.
Я понял. Здесь не хватает только одной детали. Во время сборки нам нужно переключать активную схему рядом с кнопками запуска и остановки.