I'm very very new to C and C++ programming, and have very little experience in Software Programming (my background is Web Based) But I'm trying to experiment with C / C++ and Xcode... So I've found this code (and many similar variations online):
#include <stdio.h>
int main()
{
printf ("Test");
return 0;
}
Yet when I come to compile it in Xcode I get the following error:
> 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)
Maybe Xcode is the wrong thing for me to be using as a newbie? If anyone could recommend a better compiler, that would be great too!
When you create a new project in Xcode, it automatically gives you a starting file with
main()
in it. If you created a new file, such asfirst.c
, and then pasted your test code into it, you'll be definingmain()
twice, and getting that error.You need to either delete the file (such as
main.c
, ormain.m
) that Xcode provides in your new project, or cut and paste your sample code into that file, instead of creating a new one.