C++-MFC(9)-引用外部DLL时报error LNK2019-无法解析外部符号
VS MFC 加载动态库时会出现LNK2019这样的错误。附上可运行的EXE调DLL示例代码。VS2019下运行。
首先确保EXE 和DLL是相同位和平台的。32位 64位,请匹配好,在属性页最上面查看。
调试中出现如下错误:
一般表示已经有lib和dll文件,你右击时可以看到被调函数的定义和声明的。查错的思路就是设置路径是否正确。
对于被调用的dll,我用myDll表示;
对于调用的程序EXE,我用myExe表示。
可以查的设置如下:
- myDll dll输出目录。
- myExe 运行目录,链接lib的目录。
1.myDll设置
常规->输出目录
链接器->常规->输出文件
链接器->输入->def文件
常规->输出目录
链接器->常规->输出文件
链接器->输入->def文件
2.myExe设置
常规->输出目录
C++目录->包含目录和库目录
C++常规->附加包含目录
链接器->常规->输出文件 附加库目录
链接器->输入->附加依赖项
常规->输出目录
C++目录->包含目录和库目录
C++常规->附加包含目录
链接器->常规 输出文件 附加库目录
链接器->输入->附加依赖项