C++菜鸟一枚,使用C++时,经常会碰到的一个问题:error link2001 无法解析的外部符号。虽然经常出现,但每次好像原因又都不同。
在此凭回忆记录一下,以供下次出现问题时排查。
1. 包含目录和库目录有问题(多了或者少了或者错了);
2. 未声明命名空间;
3. 基类声明了虚函数,仅派生类对此定义不可以,也需要在基类中进行定义;
4.附加依赖项中的输入lib少了或者不对
5. 自己定义库的时候未声明export或者import,库头文件中追加
#ifdef MY_EXPORTS
#define MY_API __declspec(dllexport)
#else
#define MY_API __declspec(dllimport)
#endif