关于VS200X 中 libcmtd.lib冲突 解决办法
2012-04-08 00:35
363 查看
比如在VS2005 上编译程序,经常会破到如下的情况,提示连接通不过。
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcsrchr 已经在 libcmtd.lib(wcsrchr.obj) 中定义
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __vsnprintf 已经在 libcmtd.lib(vsnprint.obj) 中定义
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEA***0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
msvcrt.lib是VC中的Multithreaded DLL 版本的C运行时库,而libcmt.lib是Multithreaded的运行时库。在同一个项目中,所有的源文件必须链接相同的C运行时库。如果某一文 件用了Multithreaded DLL版本,而其他文件用了Single-Threaded或者Multithreaded版本的库,也就是说用了不同的库,就会导致这个警告的出现。
出现这种情况的很明显表示某两个库冲突,即/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使用相同的配置,所以此时得检查引用的库是否都是一致。
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcsrchr 已经在 libcmtd.lib(wcsrchr.obj) 中定义
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __vsnprintf 已经在 libcmtd.lib(vsnprint.obj) 中定义
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEA***0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
msvcrt.lib是VC中的Multithreaded DLL 版本的C运行时库,而libcmt.lib是Multithreaded的运行时库。在同一个项目中,所有的源文件必须链接相同的C运行时库。如果某一文 件用了Multithreaded DLL版本,而其他文件用了Single-Threaded或者Multithreaded版本的库,也就是说用了不同的库,就会导致这个警告的出现。
出现这种情况的很明显表示某两个库冲突,即/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使用相同的配置,所以此时得检查引用的库是否都是一致。
相关文章推荐
- nafxcwd.lib与libcmtd.lib冲突解决办法
- nafxcwd.lib和LIBCMTD.lib符号定义冲突解决办法(配图)
- 关于VS编译时出现无法打开libcmrt.lib,libc.lib等系统常见库文件的解决办法
- LIBCMTD.lib与libcpmtd冲突的解决方法。
- VS中解决LIBCMTD.lib和uafxcwd.lib冲突(uafxcw.lib LIBCMT.lib冲突)
- libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 错误解决办法
- 关于MYSQL编程使用VS2015编译报“LNK4272库计算机类型“X86”与目标计算机类型“x64”冲突”的解决办法
- VS中解决LIBCMTD.lib和uafxcwd.lib冲突(uafxcw.lib LIBCMT.lib冲突)
- LIBCMTD.lib与libcpmtd冲突的解决方法。
- LIBCMTD.lib与libcpmtd冲突的解决方法。
- MFC中使用了libcurl库出现“library”与其他库的使用冲突;请使用 /NODEFAULTLIB:library LNK4098 原因及解决办法
- 关于VS2008 中添加成员变量提示 此网站的某个加载项运行失败 请检查“Internet选项”中的安全设置是否存在潜在冲突 问题解决办法
- MSVCRTD.LIB和LIBCMTD.LIB冲突 (转)
- 关于VS工程编译找不到DLL的解决办法
- Objective-c中关于UI主线程与正向传值冲突的解决办法
- [MFC]关于VS2002中文版开发显示对话框的常规DLL出现RC2135错误的解决办法
- VS2013 只生成DLL,未生成LIB解决办法
- 关于json-lib 和hibernate一起使用的时候出现死循环的解决办法
- 关于json-lib 和hibernate一起使用的时候出现死循环的解决办法
- 链接错误-库冲突(libcmt.lib和libcmtd.lib)