获取 nafxcwd.lib(timecore.obj) 错误 lnk2001 无法解析的外部符号 __mbctype 在来自其他项目的标头包含之后
Posted
技术标签:
【中文标题】获取 nafxcwd.lib(timecore.obj) 错误 lnk2001 无法解析的外部符号 __mbctype 在来自其他项目的标头包含之后【英文标题】:getting nafxcwd.lib(timecore.obj) error lnk2001 unresolved external symbol __mbctype after header-include from other project 【发布时间】:2015-04-10 17:17:45 【问题描述】:我创建了一个新项目,用于使用 googleTest 进行单元测试。然后我从另一个项目中添加了一个源文件来测试它。然后我得到了严重的链接器错误:
nafxcwd.lib(timecore.obj) : error LNK2001: unresolved external symbol __mbctype
nafxcwd.lib(apphelp.obj) : error LNK2001: unresolved external symbol __mbctype
nafxcwd.lib(filelist.obj) : error LNK2001: unresolved external symbol __mbctype
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argv
nafxcwd.lib(appcore.obj) : error LNK2001: unresolved external symbol ___argc
我的项目中的关键选项是:
测试项目:
Runtime Library: Multithreaded Debug DLL (necessary for googleTest)
Use of MFC: Shared DLL
生产性项目:(这实际上应该无关紧要)
Runtime Library: Multithreaded Debug DLL
Use of MFC: Use MFC in a static library
即使我使用 MFC 从生产项目中复制所有选项和文件作为共享 DLL,这些消息也会被抛出。
【问题讨论】:
【参考方案1】:导入到 testproject 的文件具有“stdafx.h”-include,该文件已解析为生产项目之一。 在那里,
#include <afxwin.h>
包括在内。检查结果,对于共享 MFC-DLL,您需要
#define _AFXDLL
在您的项目中/之前 afxwin-include。否则你会得到这些错误。
【讨论】:
以上是关于获取 nafxcwd.lib(timecore.obj) 错误 lnk2001 无法解析的外部符号 __mbctype 在来自其他项目的标头包含之后的主要内容,如果未能解决你的问题,请参考以下文章
operator new[]() already defined in libcpmt.lib报错问题处理