欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

java c++ mysql 网络问题一堆

程序员文章站 2022-04-24 22:10:40
...

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