0.c++-显式打印、改变lib库加载顺序(/verbose:lib)
2012-05-10 19:35
267 查看
今天编译了下代码:提示以下错误,因为nafxcw.lib是MFC的,所以必须首先被编译
1>正在链接…
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
测试下,在Link–>cmd中加入/verbose:lib,查看打印的顺序:
看来解决的方式就是把nafxcw.lib提前编译,要让它提前编译,好的方式 就是加入依赖lib中,输入–>附加依赖项:nafxcw.lib
再测试下:
果然第一个被编译了,搞定
1>正在链接…
1>nafxcw.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义
测试下,在Link–>cmd中加入/verbose:lib,查看打印的顺序:
>正在搜索库 1> 正在搜索 D:\Program Files\Microsoft Visual Studio 9.0\VC\lib\DelayImp.lib: 1> 正在搜索 C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib\uuid.lib: 1> 正在搜索 D:\Program Files\Microsoft Visual Studio 9.0\VC\lib\libcpmt.lib: 1> 正在搜索 .\Lib_MT\log4cplusS.lib: 1> 正在搜索 D:\Program Files\Microsoft Visual Studio 9.0\VC\lib\LIBCMT.lib: 1> 正在搜索 D:\Program Files\Microsoft Visual Studio 9.0\VC\lib\OLDNAMES.lib: 1> 正在搜索 D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib\nafxcw.lib: 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 new[](unsigned int)" (??_U@YAPAXI@Z) 已经在 LIBCMT.lib(new2.obj) 中定义 1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) 已经在 LIBCMT.lib(delete2.obj) 中定义 1> 正在搜索 C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib\kernel32.lib: 1> 正在搜索 C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib\user32.lib:
看来解决的方式就是把nafxcw.lib提前编译,要让它提前编译,好的方式 就是加入依赖lib中,输入–>附加依赖项:nafxcw.lib
再测试下:
1>正在链接... 1>正在搜索库 1> 正在搜索 D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib\nafxcw.lib: 1> 正在搜索 D:\Program Files\Microsoft Visual Studio 9.0\VC\lib\DelayImp.lib: 1> 正在搜索 C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib\uuid.lib: 1> 正在搜索 D:\Program Files\Microsoft Visual Studio 9.0\VC\lib\libcpmt.lib:
果然第一个被编译了,搞定
相关文章推荐
- 扩展类加载器-------改变JAVA的父优先类加载顺序
- tomcat下lib的加载顺序
- classloader的class加载顺序,在哪里选择?先选择本工程的src、然后是jre、然后是tomcat、最后是本工程的lib
- java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序
- 改变linux模块加载顺序
- 修改hadoop脚本改变CLASSPATH中jar加载顺序
- 一次日志打印错乱引出对jvm加载jar包顺序的研究
- java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序
- 移动项目开发笔记(改变页面JavaScript加载时的执行顺序(zt))
- /verbose:lib让VisualStudio打印更详细的编译错误信息
- java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序
- 扩展类加载器-------改变JAVA的父优先类加载顺序
- java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序
- 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有
- java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序
- 改变浏览器加载HTML代码的顺序
- webapps里面应用的lib 的加载顺序会影响到程序吗?(tomcat )
- tomcat加载类的顺序
- web.xml中 listener、filter、servlet等 加载顺序
- 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印(16)