[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(){};原因不明

你可能感兴趣的:(c++)