2016-04-23 18 views
0

Ich habe gerade angefangen zu lernen, C++. Wenn ich mit dem folgenden Code GCC-Version kompilieren: gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20.151.010 ich diesen Fehler erhalten:C++ - Programm kann nicht kompiliert werden

gcc tst.cpp -o mytst

/tmp/ccGA15Qf.o: In function `main': 
tst.cpp:(.text+0xa): undefined reference to `std::cout' 
tst.cpp:(.text+0xf): 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*)' 
tst.cpp:(.text+0x19): undefined reference to `std::cout' 
tst.cpp:(.text+0x1e): 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*)' 
/tmp/ccGA15Qf.o: In function `__static_initialization_and_destruction_0(int, int)': 
tst.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::Init()' 
tst.cpp:(.text+0x5b): undefined reference to `std::ios_base::Init::~Init()' 
collect2: error: ld returned 1 exit status 

und Hier ist mein Code:

#include <iostream> 

int main() 
{ 
    std::cout << "Hello World! "; 
    std::cout << "I'm a C++ program"; 
} 

Was läuft falsch?

+4

@Satya kein Profi Tipp. – LogicStuff

+0

OP hat keine 'std ::' und [diese] (http://stackoverflow.com/questions/1452721/why-isusing-namespace-std-in-c-considered-bad-practice) vermisst. – LogicStuff

+1

@Satya Nichts, nur den Kommentar entfernen. Es ist völlig unsinnig. – juanchopanza

Antwort

3

sollten Sie verwenden g ++, gcc nicht für die Erstellung von C++ Dateien

0

'g ++ test.cpp -o test' hat das Problem gelöst

+1

Während dies trivial ist, ist es nicht trivial, wenn jemand die Frage stellt. Ein bisschen warum ist eine Erklärung nötig, um dies zu einer Antwort zu machen. Ein weiterer Satz würde es tun. – user4581301

Verwandte Themen