In function `__static_initialization_and_destruction_0(int, int)’:
编译cpp文件的时候,出现错误
dev@szvpci5g00608:~/cpp/c++Dir/z7z8> gcc -o app xx.cpp
/tmp/ccvugPXT.o: In function `__static_initialization_and_destruction_0(int, int)':
xx.cpp:(.text+0x66): undefined reference to `std::ios_base::Init::Init()'
xx.cpp:(.text+0x75): undefined reference to `std::ios_base::Init::~Init()'
collect2: error: ld returned 1 exit status
dev@szvpci5g00608:~/cpp/c++Dir/z7z8> gcc -o app xx.cpp
/tmp/ccYLBK6h.o: In function `__static_initialization_and_destruction_0(int, int)':
xx.cpp:(.text+0x66): undefined reference to `std::ios_base::Init::Init()'
xx.cpp:(.text+0x75): undefined reference to `std::ios_base::Init::~Init()'
collect2: error: ld returned 1 exit status
解决方法
- 使用g++代替 gcc,使用gcc虽然能识别cpp文件从而使用c++的方式编译,但是不会去链接相关库文件。
g++ -o app xx.cpp
- 使用 -lstdc++ 显示链接c++的库文件
gcc -lstdc++ -o app xx.cpp