在实验室做项目用到windows + vs2013的平台,c++还是个小白,有时候师兄的程序也会跑出问题,在摸索中解决问题的过程也挺有趣,特此做个记录,便于以后查找。
因为工程多,错误想来也会多,先按照错误类型排列吧。
1. Error LINK2001 无法解析的外部符号:
有一个前人的总结,有需要的可以移步观看:
http://blog.csdn.net/shenyulv/article/details/6699836
http://blog.csdn.net/zhoxier/article/details/8619688
1.1 opencv3.0 + caffe做项目时遇到。原因在于在头文件中将一个函数声明为一个类的成员函数,但是在实现的时候忘记加以及作用域符号class:: ,导致调用时无法找到该类的实现,可以归结为在类中声明但是没有实现,导致在调用时成为无法解析的外部符号。
2.错误 1 error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include\afx.h
在程序中用到了CString等MFC函数,需要include“afx.h”,出现这个错误原因需要右键->属性->配置属性->常规->项目默认值->MFC的使用 改成在共享DLL中使用MFC