Подтвердить что ты не робот

Ld: 1 дублирующий символ для архитектуры x86_64

Я очень новичок в программировании на C и С++, и у меня очень мало опыта в программировании (мой фон основан на Интернете). Но я пытаюсь поэкспериментировать с C/С++ и Xcode... Поэтому я нашел этот код (и многие аналогичные варианты онлайн):

#include <stdio.h>

int main()
{
    printf ("Test");
    return 0;
}

Но когда я прихожу, чтобы скомпилировать его в Xcode, я получаю следующую ошибку:

> duplicate symbol _main in:
>     /Users/thomas/Library/Developer/Xcode/DerivedData/test-etqojvxbxhxjqeggdzkbfufvbeza/Build/Intermediates/test.build/Debug/test.build/Objects-normal/x86_64/first.o
>     /Users/thomas/Library/Developer/Xcode/DerivedData/test-etqojvxbxhxjqeggdzkbfufvbeza/Build/Intermediates/test.build/Debug/test.build/Objects-normal/x86_64/main.o
> ld: 1 duplicate symbol for architecture x86_64 clang: error: linker
> command failed with exit code 1 (use -v to see invocation)

Может быть, Xcode - это неправильная вещь для меня как новичок? Если бы кто-нибудь мог рекомендовать лучший компилятор, это тоже было бы здорово!

4b9b3361

Ответ 1

Когда вы создаете новый проект в Xcode, он автоматически дает вам начальный файл с main(). Если вы создали новый файл, например first.c, а затем вставили в него свой тестовый код, вы дважды определяете main() и получаете эту ошибку.

Вам нужно либо удалить файл (например, main.c, либо main.m), который Xcode предоставляет в вашем новом проекте, или вырезать и вставить ваш образец кода в этот файл, а не создавать новый.