VC默认链接库冲突
来源:互联网 发布:网络运维与管理 邮发 编辑:程序博客网 时间:2024/06/06 04:20
在同一个项目中,所有的源文件必须链接相同的C运行时库。如果某一文件用了Multithreaded DLL版本,而其他文件用了Single-Threaded或者Multithreaded版本的库,也就是说用了不同的库,就会导致这个警告的出现。
总之,一句话,lib之间有冲突。需要删除导入的一些libs。
例如:
1、编译Release版本的单线程的工程,在linker的命令行加入如下的参数: /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib
2、运行时库选择/MT的多线程项目出现如下错误:
1>LIBCMT.lib(crt0init.obj) : warning LNK4098: 默认库“msvcrt.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1> 正在生成代码
1> 已完成代码的生成
1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 LIBCMT.lib(typinfo.obj) 中定义
解决:忽略默认库msvcrt.lib
配置属性-->链接器-->输入-->忽略特定库:msvcrt.lib
或
配置属性-->链接器->命令行:/NODEFAULTLIB:msvcrt.lib
- VC默认链接库冲突
- VC编译器-链接 默认库“XXXXX”与其他库的使用冲突 的解决办法
- MSVC与CRT默认库链接冲突问题
- MSVC与CRT默认库链接冲突问题
- MSVC与CRT默认库链接冲突问题
- 默认库LIBCMT冲突
- 链接库冲突
- VC++中忽略所有默认库纯Win32 API编译及链接
- VC++中忽略所有默认库纯Win32 API编译及链接
- VC++中忽略所有默认库纯Win32 API编译及链接
- VC++动态链接库
- VC链接库
- VC++ 动态链接库
- VC++动态链接库
- LNK4098,默认库冲突的解决
- VC中缺省库冲突的解决
- VC中缺省库冲突的解决
- VC下的链接库
- linux常用命令
- 经典topK问题
- cocos2d-x3.2中fatal error: cocostudio/CocoStudio.h: No such file or directory
- ShutDown用法及参数
- 黑马程序员_java_关于静态方法
- VC默认链接库冲突
- setsocketopt
- linux内核中CONFIG_FHANDLE=y的作用
- 喷水装置
- spring3+struts2+mybatis3 -2
- 学习了一下Android View构造函数和theme.obtain
- Varchar与char的区别
- 收集Eclipse打包安卓的相关问题
- 机器学习之&&Dual(带约束条件的最优化问题)