java c++ mysql 网络问题一堆

WBOY
发布: 2016-06-07 15:27:32
原创
1229 人浏览过

warning LNK4098: defaultlib LIBCMT conflicts with use of other libs; use / NODEFAULTLIB:library 在同一个项目中,所有的源文件必须链接相同的 C 运行时库。如果某一文件用了 Multithreaded DLL 版本,而其他文件用了 Single-Threaded 或者 Multithread

warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library

 

在同一个项目中,所有的源文件必须链接相同的C运行时库。如果某一文件用了Multithreaded DLL版本,而其他文件用了Single-Threaded或者Multithreaded版本的库,也就是说用了不同的库,就会导致这个警告的出现。

原因找到了。那么解决方法,总之就是将两个项目的运行时库统一。

 

简单的方式就是将项目的动态库修改为使用Multithreaded DLL 版本的C运行时库即可。

某些情况下你的项目可能不能改变当前的运行时库,VC中的C运行时库一共有6种,想了解更多信息可以参阅我先前翻译的文章。

 

Single-threaded (libc.lib) libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib

Multithreaded (libcmt.lib) libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib

Multithreaded using DLL (msvcrt.lib) libc.lib, libcmt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib

Debug Single-threaded (libcd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcmtd.lib, msvcrtd.lib

Debug Multithreaded (libcmtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib

Debug Multithreaded using DLL (msvcrtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib

 

例如编译Release版本的单线程的工程,在linker的命令行加入如下的参数:

/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib

 

由于这个项目是添加htmlhelp.lib后而得到的warning,所以应该做如下更改,选择Project -> Setting,出现Project Setting对话框,单击LinkProject Options中添加如下即可。

/NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib  /NODEFAULTLIB:libcmtd.lib


jsp 拦截器写法,最大的问题是把注入搞没了,我勒个去,暂时无解

 



                   
                   
       
 
 


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板