我在通过visual studio 2013编译我的项目时遇到了问题。我得到了这个链接器错误:
LINK : fatal error LNK1104: cannot open file 'nafxcwd.lib'
根据这个page,我必须在共享库中使用MFC。但我根本不使用MFC。
我所有的库和主项目都是使用Use Standard Windows Libraries
设置编译的。仅当我尝试通过Visual Studio 2013工具链构建项目时,才会出现此问题,但它使用Visual Studio 2010工具链成功构建。
P.S.项目已从Visual Studio 6.0移至Visual Studio 2013。
发布于 2015-08-11 20:37:28
似乎在Microsoft Visual MFC6.0标准版中不支持与C++库的静态链接,正如微软页面所说的那样。但在Visual Studio 2013中,您可以将统计链接到Microsoft Libraries。检查此链接https://support.microsoft.com/en-us/kb/243458以解决您的问题。
来自微软网站的 :
若要将MFC项目设置更改为动态链接到MFC库,请执行下列步骤:打开MFC项目。
发布于 2015-05-30 03:22:41
要找出使用MFC的罪魁祸首,请链接到/VERBOSE并在输出中搜索nafxcwd。它很可能会出现在/DEFAULTLIB指令之后--只要注意哪个库恰好在指令之前加载即可。
发布于 2016-03-17 16:27:02
通过更新一个根本不使用MFC的VS2008项目,我遇到了同样的问题,并通过以下三个步骤解决了它。请看照片来看一下项目(VS2008)的突出显示的属性。
第1步
请在您的stdafx.h文件中添加该行#define _AFXDLL
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#define _AFXDLL
第2步
转到您的VS 2013解决方案并打开“项目属性-> C/C++ ->代码生成->运行时库”,然后将值更改为多线程调试DLL (/MDd) (将您的发布配置调整为多线程DLL (/MD),一旦完成这两个步骤,您将开始收到此链接错误
错误LNK1104:无法打开文件'mfc120d.lib‘
现在,您必须将项目的“字符集”设置为Unicode,而不是_MBCS。
第3步
现在打开"Project Properties -> General -> Project Defaults -> Character Set“并将值更改为Use Unicode Character Set,现在这部分需要更多的耐心和工作,您必须在源文件中将字符串特征更改为wchar_t或the。
希望它能解决你的问题。
https://stackoverflow.com/questions/24468370
复制相似问题