Wie kann man unter XCode den Default-Compiler ändern?

BenchR

Neues Mitglied
Thread Starter
Dabei seit
07.06.2011
Beiträge
10
Reaktionspunkte
0
Hey Leute, ich bin hier noch ganz neu, habe aber sofort eine Frage, die ich über die Suchfunktion leider nicht beantworten konnte..
Ich schreibe gerade an einem Beleg in C++ und habe dafür massig Header- und Cpp-Files angelegt. Vor allem geht es um die Implementierung einer Template-Liste, aber den kompletten Umfang zu erläutern würde wohl den Grund einer Frage sprengen.
Also mein Problem ist folgendes: Wenn ich das Projekt über den Terminal mit g++ kompiliere, klappt alles wunderbar. Unter XCode gibt es allerdings immer den gleichen Fehler:

Undefined symbols for architecture x86_64:
"Person::person(char const*, char const*, int)", referenced from:
_main in main.o
"Person::eek:perator>(Person&)", referenced from:
list<Person>::addItemtoList(Person*) in main.o
"operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, Person&)", referenced from:
list<Person>::show() in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Wenn ich das obige richtig interpretiere, versucht er meinen Code mit clang zu compilen, wieso nicht mit g++? Wo kann ich das denn ändern?
Das Hauptproblem ist, dass ich irgendwo noch ein paar Logik-Fehler im Code habe und die gerne durch debuggen rausbekommen möchte. Aber da XCode nichtmal kompiliert, kann er auch nicht debuggen...
Ich hoffe, ihr könnt mir helfen :)

BenchR
 
der link fehler liegt nicht unbedingt an dem compiler.
guck dir mal deine projekt einstellung an, ob deine Person klasse auch als 64bit kompiliert vorliegt...

den compilier kannst auch in den projekt einstellungen ändern...
 
Ah, da gibt es unter Build Phases ja den Punkt Compile Sources, da stand bei mir nur die main.cpp drin! Daran wird es wohl gelegen haben :) Jetzt muss ich XCode nochmal neu installieren, hab gestern die Verlinkungen in dem Ordner total durcheinander gebracht :D Aber der Fehler ist weg, es kommen nur ein paar Warnungen, um die ich mich jetzt kümmern kann. Vielen Dank! :)
 
Zurück
Oben Unten