/verbose:lib 的作用~~~ ;nafxcwd.lib 和 LIBCMTD.lib ...

≡放荡痞女 提交于 2020-03-01 05:53:38
工程默认的时候。编译时提示如下:

1>nafxcwd.lib(dllmodul.obj) : error LNK2005:  _DllMain @12  已经在 LIBCMTD.lib(dllmain.obj) 中定义
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" ( ??2@YAPAXI @Z ) 已经在 LIBCMTD.lib(new.obj) 中定义
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" ( ??3@YAXPAX @Z ) 已经在 LIBCMTD.lib(dbgdel.obj) 中定义

可以看出是MFC的库和CRT的库冲突了。一般来说是这哥俩的顺序乱了。mfc的nafxcwd.lib应该在前面,crt的libcmtd.lib应该在后面。
如果当看这些提示,信息可能不全。我们就来介绍一下  /verbose:lib  编译参数。把这个放到 项目-》属性-》连接器-》命令行 中。 然后重新编译项目。就会有如下提示,这样就可以清楚的看到,系统先连接了 libcmtd.lib,然后再连接nafxcwd.lib时出错了。。。

那么我们要做的就是“按顺序排除”冲突的库,再“按正确顺序”附加这两个库就行了。。

也就是 排除时的顺序是 libcmtd.lib;nafxcwd.lib 附加时的顺序是 nafxcwd.lib; libcmtd.lib; 貌似顺序不能搞错哦。。。

加入  /verbose:lib  编译参数 后的输出信息很明了,如下:

1>------ 已启动生成: 项目: HotTxtUserInfo, 配置: Debug Win32 ------
1>  
1>  正在搜索库
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\LIBCMTD.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\lib\nafxcwd.lib:
1>nafxcwd.lib(dllmodul.obj) : error LNK2005:  _DllMain @12  已经在 LIBCMTD.lib(dllmain.obj) 中定义
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" ( ??2@YAPAXI @Z ) 已经在 LIBCMTD.lib(new.obj) 中定义
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" ( ??3@YAXPAX @Z ) 已经在 LIBCMTD.lib(dbgdel.obj) 中定义
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\user32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\msimg32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\comctl32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\shlwapi.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\lib\atlsd.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oledlg.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\urlmon.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\daouuid.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\ws2_32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\mswsock.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\wsock32.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\libcpmtd.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\comsuppwd.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\gdiplus.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oleacc.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\imm32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\winmm.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\msxml2.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\LIBCMTD.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\lib\nafxcwd.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\user32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\msimg32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\comctl32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\shlwapi.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\lib\atlsd.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oledlg.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\urlmon.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\daouuid.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\ws2_32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\mswsock.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\wsock32.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\libcpmtd.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\comsuppwd.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\gdiplus.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oleacc.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\imm32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\winmm.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\msxml2.lib:
1>  
1>  已完成库搜索
1>     正在创建库 I:\project\work\HotProject\DtServer\Debug\HotTxtUserInfo.lib 和对象 I:\project\work\HotProject\DtServer\Debug\HotTxtUserInfo.exp
1>  
1>  正在搜索库
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\LIBCMTD.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\lib\nafxcwd.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\user32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\msimg32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\comctl32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\shlwapi.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\lib\atlsd.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oledlg.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\urlmon.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\daouuid.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\ws2_32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\mswsock.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\wsock32.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\libcpmtd.lib:
1>      正在搜索 G:\Program Files\Microsoft Visual Studio 10.0\VC\lib\comsuppwd.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\gdiplus.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\oleacc.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\imm32.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\winmm.lib:
1>      正在搜索 D:\Program Files\Microsoft SDKs\Windows\v7.0A\lib\msxml2.lib:
1>  
1>  已完成库搜索
1>I:\project\work\HotProject\DtServer\Debug\HotTxtUserInfo.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!