2016-04-23 2 views
0

Я только что начал изучать C++. Когда я скомпилировать следующий код с помощью GCC версии: НКУ (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010 я получаю эту ошибку:Программа на C++ не может быть скомпилирована

НКУ 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 

и вот мой код:

#include <iostream> 

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

Что происходит не так?

+4

@Satya Не про наконечник. – LogicStuff

+0

OP не пропустил никаких 'std ::' и [this] (http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-in-c-considered-bad-practice). – LogicStuff

+1

@Satya Ничего, просто удалите комментарий. Это совершенно бессмысленно. – juanchopanza

ответ

3

Вы должны использовать г ++, не GCC для компиляции C++ файлы

0

'г ++ test.cpp -o тест' решил проблему

+1

Хотя это тривиально, никто не задает вопрос. Немного о том, почему объяснение необходимо, чтобы ответить на этот вопрос. Это еще одно предложение. – user4581301

Смежные вопросы