一、背景
我在写一个MFC的动态库,动态库编译完成,生成了lib和dll文件,但是当在使用这个动态库的时候老是出现这个样一个错误:
error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall CThroatBaseArea::~CThroatBaseArea
二、解决办法
首先网络上的解决办法有很多,我先贴一下他们的解决方案
1、字符集的问题,我的设置为,多字节字符集
2、库没有包含进来,可能只包含了头文件,但是lib文件没有进行包含,在连接器里面进行配置。
下面谈一下我的问题,首先一定要注意报错的英文,把报错的内容好好读一下,
error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall CThroatBaseArea::~CThroatBaseArea(void)" (__imp_??1CThroatBaseArea@@QAE@XZ)
1>..\..\Bin/Calcualte.dll : fatal error LNK1120: 1 个无法解析的外部命令
好好读一下之后发现类CThroatBaseArea的析构函数~CThroatBaseArea(void)是不是有问题?
三、总结
类有的时候回帮你构造出构造函数和析构函数,但是当你自己定义了之后,就不会提供默认的构造函数和析构函数,注意:你自己定义之后,要注意是否实现?我的问题就是定义了析构函数,但是meiy