>  기사  >  데이터 베이스  >  java c++ mysql 网络问题一堆

java c++ mysql 网络问题一堆

WBOY
WBOY원래의
2016-06-07 15:27:321183검색

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 拦截器写法,最大的问题是把注入搞没了,我勒个去,暂时无解

 



                   
                   
       
 
 


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.