Компиляция кода C++: неопределённая ссылка на «std::cout» |
|
Добавил(а) microsin
|
Простейший код С++ на Ubuntu при компиляции gcc выдает ошибку "неопределённая ссылка на «std::cout»".
Пример кода (helloworld.cpp):
#include < iostream>
using namespace std;
int main() {
std::cout << "Hello World\n";
return 0;
}
Компиляция:
user@machine:~/temp$ gcc helloworld.cpp -o helloworld
/usr/bin/ld: /tmp/ccX1p6No.o: в функции «main»:
helloworld.cpp:(.text+0x12): неопределённая ссылка на «std::cout»
/usr/bin/ld: helloworld.cpp:(.text+0x17): неопределённая ссылка на «std::basic_ostream< char,
std::char_traits< char> >& std::operator<< < std::char_traits< char> >(std::basic_ostream< char,
std::char_traits< char> >&, char const*)»
/usr/bin/ld: /tmp/ccX1p6No.o: в функции «__static_initialization_and_destruction_0(int, int)»:
helloworld.cpp:(.text+0x4b): неопределённая ссылка на «std::ios_base::Init::Init()»
/usr/bin/ld: helloworld.cpp:(.text+0x60): неопределённая ссылка на «std::ios_base::Init::~Init()»
collect2: error: ld returned 1 exit status
user@machine:~/temp$
Ошибка была в том, что компилировать на самом деле надо с помощью g++:
$ g++ helloworld.cpp -o helloworld
|