1. 程式人生 > >[undefine reference to...]c++ 已經引用標頭檔案的情況編譯顯示未定義

[undefine reference to...]c++ 已經引用標頭檔案的情況編譯顯示未定義

1.仔細檢查程式碼是否寫錯.
2.反覆檢查第一步,再確認c++是否未註明名稱空間.
3.感覺很坑的一點,就是makefile沒有新增對應的.cpp檔案。有時候一不小心就遺忘了.
4.不要告訴我,你編譯之前沒有儲存檔案(非IDE開發環境).
5.比最坑還坑的一點,確認makefile的連結庫的順序。很多時候改一下連結順序就有特效,大家一定要嘗試一下

6.實在沒遇到其他情況,請大家補充...

補充:編譯時要手動連結第三放庫的情況。比如使用了多執行緒時,編譯時需加上 -lpthread ,使用了math.h ,要加上-lm 

補充:今天編譯時遇到 undefined reference to 'typeinfo for class'....,原因是虛擬函式 virtual void foo(); 應該寫成virtual void foo(){};原因不明