gcc+mingw32下,編譯過程順利生成obj文件,鏈接失敗,但是不可能啊,整個程序什么都沒做,就include了<iostream>,並且詳細錯誤信息居然提示std::ios_base錯誤,undefined,開玩笑呢!這個錯誤一定跟編譯器有關。
於是先執行了:gcc -c 文件名.cpp ,發現編譯環節順利,再執行 gcc 目標文件名.o -o,就會出現提示。 一番查找下,發現原因是在gcc + mingw32編譯環境默認用的是libstdc++進行編譯(雖然我用的是windows版本),需要手動指定lstdc++參數,如下所示:
gcc 標准庫.o -o test -lstdc++