gcc referencia no definida a `std :: ios_base :: Init :: Init () ‘

Escriba una prueba de impulso si la instalación fue exitosa demo

#include #include int main(){ int a = boost::lexical_cast("123456"); std::cout << a <<std::endl; return 0; } 

Error de comstackción

 test.cpp:(.text+0x24): undefined reference to `std::cout' test.cpp:(.text+0x29): undefined reference to `std::basic_ostream<char, std::char_traits >::operator<<(int)' test.cpp:(.text+0x31): undefined reference to `std::basic_ostream<char, std::char_traits >& std::endl<char, std::char_traits >(std::basic_ostream<char, std::char_traits >&)' test.cpp:(.text+0x39): undefined reference to `std::basic_ostream<char, std::char_traits >::operator<<(std::basic_ostream<char, std::char_traits >& (*)(std::basic_ostream<char, std::char_traits >&))' /tmp/ccG8Wb2k.o: In function `__static_initialization_and_destruction_0(int, int)': test.cpp:(.text+0x61): undefined reference to `std::ios_base::Init::Init()' test.cpp:(.text+0x66): undefined reference to `std::ios_base::Init::~Init()' /tmp/ccG8Wb2k.o: In function `std::exception::exception()': 

Si usa gcc lugar de g++ , la biblioteca de C ++ no se vincula automáticamente. Esto es de man g++ :

Sin embargo, el uso de gcc no agrega la biblioteca C ++. g ++ es un progtwig que llama a GCC y especifica automáticamente la vinculación con la biblioteca de C ++. Trata los archivos .c, .h y .i como archivos de origen C ++ en lugar de archivos de origen C a menos que se use -x. Este progtwig también es útil cuando se precomstack un archivo de cabecera C con una extensión .h para usar en comstackciones de C ++. En muchos sistemas, g ++ también se instala con el nombre c ++.

Como han dicho otros, use g++ directamente o enlace -lstdc++ al final de su invocación. Algo como gcc main.cpp -lstdc++ .

Esto comstack y ejecuta ningún problema con g ++ 4.8.1. Salidas:

 123456 

Use esto: g ++ fileName.cpp -o Nombre de archivo que generará el archivo que se ejecutará. Espero que esto ayude. Saludos Martin Z