关于静态编译

来源:互联网 发布:唐嫣杨幂关系知乎 编辑:程序博客网 时间:2024/05/14 22:03
出现以下错误的解决方案:
nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMT.lib(new.obj) nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMT.lib(delete.obj) Release/Demo.exe : fatal error LNK1169: one or more multiply defined symbols found

解决方案

解决该问题有两种方法:第一种解决方案涉及到强制链接程序按照正确的顺序链接库。第二种解决方案是让您查找导致问题的模块并纠正它。

解决方案一:强制链接程序按照正确的顺序链接库

1. 生成菜单上,单击设置

2. 项目设置对话框的以下项目的设置视图中,单击以选中出现链接错误的项目配置。

3. 链接选项卡上,单击以选中类别组合框中的INPUT

4. 在要忽略的库中,插入库名(例如,Nafxcwd.lib;Libcmtd.lib)。

 

注意:等效的链接程序命令行是:/NODlibrary name>。

5. 对象/库模块框中,插入库名。必须确保这些库按顺序列出,且作为命令行中的前两个库(例如,Nafxcwd.lib Libcmtd.lib)列出。



原创粉丝点击