笔者用VS2010生成64位的MFC应用程序时发现,输出中提示
1> uafxcwd.lib(appcore.obj) : error LNK2001: 无法解析的外部符号 ___wargv
1>uafxcwd.lib(appcore.obj) : error LNK2001: 无法解析的外部符号 ___argc
经过网上仔细查阅发现是跟库的版本,32/64位版本以及代码输出时运行时库不一致所导致的。将所用到库与最终编译的程序选择相同的即可避免该错误。需要注意得地方如下图:
1.Debug/Relase要一致
2.32/64位版本要一致
3.代码输出时运行时库要一致
4.MFC的使用也要一致
其他相关资料:
1.error LNK2001:无法解析的外部符号___argc
http://www.360doc.com/content/11/1031/14/4190063_160548608.shtml
2.关于error LNK2005的解决办法 - clever101的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/clever101/article/details/5741869
3.vc/atlmfc/include/afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT -
http://www.vcerror.com/?p=130
4.VC 运行时库 /MD、/MDd 和 /MT、/MTd - leepwang的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/leepwang/article/details/8539414
5.VC各种编译链接错误的解决方法 - MFC - 次元立方网 - 电脑知识与技术互动交流平台
http://www.it165.net/pro/html/201203/1906.html