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