Xcode начинающий. Новые проблемы с файлами и ошибки

0

Я новичок в Xcode, и у меня проблемы. Я пройду свои шаги и расскажу о своей проблеме. Итак, я хочу ввести код в C++... I

  1. Открыть Xcode
  2. Новый проект... Инструмент командной строки
  3. Добавьте проект в мою назначенную папку программирования
  4. Запустите программу Hello World, и все работает хорошо.

Проблема в том, что я пытаюсь добавить новый файл в мой текущий проект. Я нажимаю файл → новый файл → C++ класс. Так что скажем, что я называю этот файл practice.cpp, когда я это делаю, он также создает practice.h со всеми заголовками. Тем не менее, я бы предпочел, чтобы весь мой код с заголовками был в одном окне, так как мои программы на данный момент минимальны. Кроме того, если я попытаюсь создать простую программу, скажем, скопированную из Hello World, которая ранее работала, или что-то еще, я получаю сообщение об ошибке. "команда компоновщика не сработала с кодом выхода 1 (используйте -v, чтобы увидеть вызов)" Я просмотрел интернет и не нашел исправления. Спасибо вам всем!

Редактировать: Извините, я думаю, может быть, есть дубликат, но я не уверен, как разобраться или исправить ошибку. Во всяком случае, здесь ошибка...

Ld/Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Products/Debug/CSE1222 normal x86_64 cd "/Пользователи /Finn/Desktop/School/CSE 1222/CSE1222/CSE1222" setenv MACOSX_DEPLOYMENT_TARGET 10.9/Приложения /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -L/Пользователи /Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Products/Debug -F/Пользователи /Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Products/Debug -F ilelist/Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/CSE1222.LinkFileList - mmacosx -v ersion-min = 10.9 -stdlib = lib C++ -Xlinker -dependency_info -Xlinker/Пользователи /Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfz ekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/CSE1222_dependency_info.dat -o/Пользователи /Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Products/Debug/CSE1222

дублирующий символ _main в: /Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/main.o/Пользователи /Finn/Library/Разработчик /Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/File1.o ld: 1 дубликат символа для архитектуры x86_64 clang: ошибка: команда компоновщика не выполнена с кодом выхода 1 (используйте -v, чтобы увидеть вызов)

  • 0
    Есть ли какое-либо указание на конкретную ошибку компоновщика?
  • 2
    показать нам описание ошибки компоновщика.
Показать ещё 1 комментарий
Теги:
xcode

2 ответа

1
Лучший ответ

Так что скажем, что я называю этот файл practice.cpp, когда я это делаю, он также создает practice.h со всеми заголовками. Тем не менее, я бы предпочел, чтобы весь мой код с заголовками был в одном окне, так как мои программы на данный момент минимальны.

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

дублирующий символ _main в: /Users/Finn/Library/Developer/Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Build/Intermediates/CSE1222.build/Debug/CSE1222.build/Objects-normal/x86_64/main.o/Пользователи /Finn/Library/Разработчик /Xcode/DerivedData/CSE1222-caatcfzekizvqkcdenxbphbfseon/Строительные/ПОЛУПРОДУКТЫ /CSE1222.build/Debug/CSE1222.build/Объекты-нормальный /x86_64/file1.o

У вас есть дублирующий символ, в частности _main. То есть _main определяется в двух разных объектных файлах, которые построены из вашего проекта: main.o и File1.o. Вероятно, это означает, что вы пытались создать всю вашу программу в файле File1.cpp и проигнорировали файл main.m который Xcode поставляет в новый проект. Вы можете попробовать удалить main.m; или удалите File1.cpp, переименуйте main.m в main.cpp и поместите там весь свой код.

  • 0
    Спасибо за информацию!
0

Я просто отключаю целевое членство в одном файле.cpp, а другой можно построить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню