遇到c++編譯undefined reference to “std::ios_base::Init::Init()”錯誤的解決方案

root@localhost testDemo]# gcc -o mydemo mydome.cpp

/tmp/ccx5MfhH.o: In function `main':

mydome.cpp:(.text+0xf): undefined reference to `operator new(unsigned long)'

/tmp/ccx5MfhH.o: In function `__static_initialization_and_destruction_0(int, int)':

mydome.cpp:(.text+0x82): undefined reference to `std::ios_base::Init::Init()'

mydome.cpp:(.text+0x91): undefined reference to `std::ios_base::Init::~Init()'

/tmp/ccx5MfhH.o:(.rodata._ZTV11Virtualbase[_ZTV11Virtualbase]+0x10): undefined reference to `__cxa_pure_virtual'

/tmp/ccx5MfhH.o:(.rodata._ZTI10SubVirtual[_ZTI10SubVirtual]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'

/tmp/ccx5MfhH.o:(.rodata._ZTI11Virtualbase[_ZTI11Virtualbase]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'

collect2: error: ld returned 1 exit status

[root@localhost testDemo]#

[root@localhost testDemo]# gcc mydome.cpp

/tmp/ccIx17eo.o: In function `main':

mydome.cpp:(.text+0xf): undefined reference to `operator new(unsigned long)'

/tmp/ccIx17eo.o: In function `__static_initialization_and_destruction_0(int, int)':

mydome.cpp:(.text+0x82): undefined reference to `std::ios_base::Init::Init()'

mydome.cpp:(.text+0x91): undefined reference to `std::ios_base::Init::~Init()'

/tmp/ccIx17eo.o:(.rodata._ZTV11Virtualbase[_ZTV11Virtualbase]+0x10): undefined reference to `__cxa_pure_virtual'

/tmp/ccIx17eo.o:(.rodata._ZTI10SubVirtual[_ZTI10SubVirtual]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'

/tmp/ccIx17eo.o:(.rodata._ZTI11Virtualbase[_ZTI11Virtualbase]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'

collect2: error: ld returned 1 exit status

增加編譯參數

[root@localhost testDemo]# gcc mydome.cpp -o mydome  -lstdc++

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章