【问题】调用的函数无法解析
1>MFCApplication1Dlg.obj : error LNK2019: 无法解析的外部符号 _imp_WNetOpenEnumW,函数 "public: void __cdecl CMFCApplication1Dlg::OnBnClickedButton1(void)" (?OnBnClickedButton1@CMFCApplication1Dlg@@QEAAXXZ) 中引用了该符号 1>MFCApplication1Dlg.obj : error LNK2019: 无法解析的外部符号 _imp_WNetEnumResourceW,函数 "public: void __cdecl CMFCApplication1Dlg::OnBnClickedButton1(void)" (?OnBnClickedButton1@CMFCApplication1Dlg@@QEAAXXZ) 中引用了该符号 1>MFCApplication1Dlg.obj : error LNK2019: 无法解析的外部符号 _imp_WNetCloseEnum,函数 "public: void __cdecl CMFCApplication1Dlg::OnBnClickedButton1(void)" (?OnBnClickedButton1@CMFCApplication1Dlg@@QEAAXXZ) 中引用了该符号 1>C:\Demo\MFCApplication1\x64\Debug\MFCApplication1.exe : fatal error LNK1120: 3 个无法解析的外部命令
【答案】添加对应的lib库到工程
分析:
出现字符_imp,说明不是真正的静态库,而是某个动态库的导入库,导入函数和自己不同名,所以加了字符_imp。导致该问题的原因如下:
1)说明注册表函数没有相关的lib库,我们需要在MSDN下搜索函数;
2)如果有引入三方库文件,可能存在库编译时和自己的项目编译时的运行库选择不一致(MT/MTd/MD/MDd);
解决:
1、打开MSDN,点击右上角的搜索对应的函数,然后查看函数详情;
2、在函数的详细介绍里面,查看它所在的lib库;
3、将对应的lib添加到代码工程中,即可解决问题;
#pragma comment(lib, "XXX.lib")
标签:FAQ,lib,CMFCApplication1Dlg,符号,void,XXX,imp,OnBnClickedButton1 From: https://www.cnblogs.com/wangyaohui08/p/16998768.html