VC6 链接错误

在编译的时候如果出现问题:

 

 nafxcwd.lib(afxmem.obj) :error LNK2005:
"void * __cdecl operator new(unsigned int)"(??2@YAPAXI@Z) already
defined in LIBCMTD.lib(new.obj) 
nafxcwd.lib(afxmem.obj) :error LNK2005:
"void __cdecl operator delete(void *)"(??3@YAXPAX@Z) already defined
in LIBCMTD.lib(dbgnew.obj) 

 

链接告诉你与系统中的库冲突,已经被定义了。

 

解决办法:

解决方案一:强制链接器按照正确的顺序链接库 (不推荐使用该方法)
1. 在“项目”菜单上,单击“设置”。 
2. 在“项目设置”对话框的“以下项目的设置”视图中,单击以选中出现链接错误的项目配置。 
3. 在“链接”选项卡上,单击以选中“类别”组合框中的“输入”。 
4. 在“忽略库”框中,插入库名(例如,Nafxcwd.lib;Libcmtd.lib)。

不推荐使用理由,有可能造成工程中别的项目链接错误

 

解决方案二:

1. 在“项目”菜单上,单击“设置”。 

2. 切换到C++选项卡, 将CateGory(种别) 切换成 “code  Generation”

3. 查看你的 Use run-time library 选项卡是否与其它的项目一致, 一般情况下 Debug 设置为:Debug MultiThreaded  Release:  MultiThreaded 

 

重新编译即可

相关文章
相关标签/搜索