LNK2005 LIBCMT.lib/nafxcw.lib 编译链接错误

运行环境:在非MFC程序中,添加MFC支持,静态链接MFC库。

发生错误:

1>正在链接...
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMT.lib(delete.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已经在 LIBCMT.lib(delete2.obj) 中定义
1>D:\work\yuanxx\日志分析\logExtractTool\Release\logExtractTool.exe : fatal error LNK1169: 找到一个或多个多重定义的符号

错误原因:CRT库和MFC库链接时顺序有误。

             CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误。


解决方法:强制链接器按照正确的顺序链接库!

项目->属性->链接器->输入->附加依赖项,添加:libcpmt.lib nafxcw.lib。

项目->属性->链接器->输入->忽略特定想,添加:nafxcw.lib libcpmt.lib。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
error LNK1168: cannot open ../../../lib/LeoLanguage.dll for writing 是一个与文件写入权限相关的错误。它表示在尝试写入LeoLanguage.dll文件时,系统遇到了权限问题,无法打开该文件进行写入操作。这可能是由于以下原因导致的: 1. 文件被其他程序占用:可能有其他程序正在使用LeoLanguage.dll文件,因此它无法被其他程序写入。这时,您可以尝试关闭其他正在使用该文件的程序,然后再次尝试写入。 2. 权限不足:您的用户账户可能没有足够的权限来写入该文件。这可能是因为您没有管理员权限或者文件所在的目录没有写入权限。您可以尝试使用管理员权限运行您的程序,或者将文件移动到具有写入权限的目录中。 3. 文件正在被调试器使用:如果您的程序正在被调试器调试,那么调试器可能会锁定LeoLanguage.dll文件,导致其他程序无法写入。您可以尝试停止调试器的调试会话,然后再次尝试写入。 请根据您的具体情况,检查以上可能的原因,并采取相应的解决方法来解决该错误。如果您仍然遇到困难,请提供更多详细信息,以便我可以为您提供更准确的帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [成功解决LINK : fatal error LNK1181: 无法打开输入文件“avdevice.liberror: command 'D:\\Program ...](https://blog.csdn.net/qq_41185868/article/details/103890466)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [LINK : fatal error LNK1104: cannot open file "mfc42u.lib"-附件资源](https://download.csdn.net/download/weixin_42197129/15590499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值