nidhoegg
07-04-2006, 18:59
Hallo!
Ich versuche gerade, mein erstes C++-Programm unter Unix zu starten und habe leider ein Problem, zu dem ich noch keine Lösung gefunden habe.
Das Programm ist ganz simpel und sieht so aus:
#include <iostream>
//using namespace std;
int main (void){
cout << "Viel spass mit C++" << endl;
return 0;
}
jetzt hier mein Problem:
PG-1$ gcc erstesprogramm.cpp
erstesprogramm.cpp: In function `int main()':
erstesprogramm.cpp:5: error: `cout' undeclared (first use this function)
erstesprogramm.cpp:5: error: (Each undeclared identifier is reported only once
for each function it appears in.)
erstesprogramm.cpp:5: error: `endl' undeclared (first use this function)
Unter Mac OS 10.3
Unter Lunx (Ubuntu Breezy) funktioniert es auch nicht.
:!gcc erstesprogramm.cpp
erstesprogramm.cpp: In function »int main()«:
erstesprogramm.cpp:5: Fehler: »cout« wurde in diesem Gültigkeitsbereich nicht definiert
erstesprogramm.cpp:5: Fehler: »endl« wurde in diesem Gültigkeitsbereich nicht definiert
Wenn ich
using namespace std;im Prgramm drin lasse, bekomme ich folgende Fehermeldung:
ld: Undefined symbols:
std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits
ar> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
std::ios_base::Init::Init[in-charge]()
std::ios_base::Init::~Init [in-charge]()
std::cout
std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_
ream<char, std::char_traits<char> >&)
std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic
tream<char, std::char_traits<char> >&, char const*)
___gxx_personality_v0 (Mac OS)
und Linux:
gcc erstesprogramm.cpp
/tmp/ccIyDO6i.o: In function `main':
erstesprogramm.cpp:(.text+0x25): undefined reference to `std::cout'
erstesprogramm.cpp:(.text+0x2a): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
erstesprogramm.cpp:(.text+0x35): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
erstesprogramm.cpp:(.text+0x3b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccIyDO6i.o: In function `__tcf_0':
erstesprogramm.cpp:(.text+0x59): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccIyDO6i.o: In function `__static_initialization_and_destruction_0(int, int)':
erstesprogramm.cpp:(.text+0x86): undefined reference to `std::ios_base::Init::Init()'
/tmp/ccIyDO6i.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld gab 1 als Ende-Status zurück
Ich habe schon im Netz nach Antworten gesucht, aber da ich die Fehler nicht so richtig verstehe, weiß ich auch nicht soi genau, wonach ich suchen soll…
Würde mich freuen, wenn jemand eine Idee zur Problemlösung hätte. Das Programm an sich ist ja ziemlich simpel und unter Windows funktioniert es auch einwandfrei (Das Buch, was ich besitze beschäftigt sich leider auch hauptsächlich mit Windows).
Grüße,
nidhoegg
Ich versuche gerade, mein erstes C++-Programm unter Unix zu starten und habe leider ein Problem, zu dem ich noch keine Lösung gefunden habe.
Das Programm ist ganz simpel und sieht so aus:
#include <iostream>
//using namespace std;
int main (void){
cout << "Viel spass mit C++" << endl;
return 0;
}
jetzt hier mein Problem:
PG-1$ gcc erstesprogramm.cpp
erstesprogramm.cpp: In function `int main()':
erstesprogramm.cpp:5: error: `cout' undeclared (first use this function)
erstesprogramm.cpp:5: error: (Each undeclared identifier is reported only once
for each function it appears in.)
erstesprogramm.cpp:5: error: `endl' undeclared (first use this function)
Unter Mac OS 10.3
Unter Lunx (Ubuntu Breezy) funktioniert es auch nicht.
:!gcc erstesprogramm.cpp
erstesprogramm.cpp: In function »int main()«:
erstesprogramm.cpp:5: Fehler: »cout« wurde in diesem Gültigkeitsbereich nicht definiert
erstesprogramm.cpp:5: Fehler: »endl« wurde in diesem Gültigkeitsbereich nicht definiert
Wenn ich
using namespace std;im Prgramm drin lasse, bekomme ich folgende Fehermeldung:
ld: Undefined symbols:
std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits
ar> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
std::ios_base::Init::Init[in-charge]()
std::ios_base::Init::~Init [in-charge]()
std::cout
std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_
ream<char, std::char_traits<char> >&)
std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic
tream<char, std::char_traits<char> >&, char const*)
___gxx_personality_v0 (Mac OS)
und Linux:
gcc erstesprogramm.cpp
/tmp/ccIyDO6i.o: In function `main':
erstesprogramm.cpp:(.text+0x25): undefined reference to `std::cout'
erstesprogramm.cpp:(.text+0x2a): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
erstesprogramm.cpp:(.text+0x35): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
erstesprogramm.cpp:(.text+0x3b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccIyDO6i.o: In function `__tcf_0':
erstesprogramm.cpp:(.text+0x59): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccIyDO6i.o: In function `__static_initialization_and_destruction_0(int, int)':
erstesprogramm.cpp:(.text+0x86): undefined reference to `std::ios_base::Init::Init()'
/tmp/ccIyDO6i.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld gab 1 als Ende-Status zurück
Ich habe schon im Netz nach Antworten gesucht, aber da ich die Fehler nicht so richtig verstehe, weiß ich auch nicht soi genau, wonach ich suchen soll…
Würde mich freuen, wenn jemand eine Idee zur Problemlösung hätte. Das Programm an sich ist ja ziemlich simpel und unter Windows funktioniert es auch einwandfrei (Das Buch, was ich besitze beschäftigt sich leider auch hauptsächlich mit Windows).
Grüße,
nidhoegg