[C++ & Mac] gcc und clang kompilieren nicht mehr
-
Hi,
seit dem Upgrade auf Lion kann ich keine C++ Programme mehr mit gcc oder clang kompilieren.
Undefined symbols for architecture x86_64: "std::cout", referenced from: _main in ccfPIvbK.o "std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from: _main in ccfPIvbK.o "std::ios_base::Init::Init()", referenced from: __static_initialization_and_destruction_0(int, int)in ccfPIvbK.o "std::ios_base::Init::~Init()", referenced from: ___tcf_0 in ccfPIvbK.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status
Hat jemand ne Idee?
-
Das sind linker Fehler.
Zeig mal den Commandline aufruf.Das neue XCode hast du eh geladen, oder?
-
Hast du schon auf XCode 4.1 upgedatet? Apple hat fuer Lion eine neue Version herausgebracht.
-
Ja, 4.1 ist installiert. Möchte es aber auch im Terminal kompilieren. Mit g++ funktioniert es sogar aber mit gcc und clang nicht.
-
shizzo schrieb:
Mit g++ funktioniert es sogar aber mit gcc und clang nicht.
clang kenn ich nicht, aber auf den Systemen die ich kenne ist gcc ein C-Compiler und g++ der C++-Compiler. Genauer gesagt ist ist g++ der gcc, linkt aber noch die C++ libraries mit, weshalb gcc mit C++ im allgemeinen Linkerfehler spuckt wie bei dir.
-
Bei clang verhaelt sich clang++ zu clang genauso wie g++ zu gcc.
Will sagen: Kompiliere deine C++-Programme mit g++ oder clang++. Oder linke noch manuell die C++-stdlib dazu, das machen die beiden naemlich auch.
-
Super, danke