Программирование PC Компиляция кода C++: неопределённая ссылка на «std::cout» Fri, April 19 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Компиляция кода 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

 

 

Добавить комментарий


Защитный код
Обновить

Top of Page