undefined reference to `std::ios_base::Init::Init() 解決


(一)gcc 編譯C++程序是提示錯誤undefined reference to `std::ios_base::Init::Init() 的解決方法

在linux下編譯c++ 程序要使用g++ 編譯器,如果你要是使用gcc編譯器就會有上面的報錯信息,只要在在gcc后加上 -lstdc++就ok了

eg: gcc example.c -lstdc++

(二)gcc 和 g++ 是有區別的

(1)gcc和g++都是GNU(組織)的一個編譯器。

(2)后綴名為.c的程序和.cpp的程序g++都會當成是c++的源程序來處理。而gcc不然,gcc會把.c的程序處理成c程序。

(3)對於.cpp的程序,編譯可以用gcc/g++,而鏈接可以用g++或者gcc -lstdc++。(個人覺得這條是最重要的)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM