运行库不一致导致的问题(/MDd /MTd)
2016-02-14 11:35
323 查看
如果出现如下问题
error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”
1>LIBCMTD.lib(tzset.obj) : error LNK2005: __tzset 已经在 MSVCRTD.lib(MSVCR120D.dll) 中定义
可以考虑是否链接的lib的调式的运行库不一致。
查看方式:项目属性->C/C++->代码生成->运行库 应该修改成一致。
查看网络上的资料如下:
MT:mutithread,多线程库,编译器会从运行时库里面选择多线程静态连接库来解释程序中的代码,即连接LIBCMT.lib库
MTd:mutithread+debug,多线程调试版,连接LIBMITD.lib库
MD:MT+DLL,多线程动态库,连接MSVCRT.lib库,这是个导入库,对应动态库为MSVCRT.dll
MDd: MT+DLL+debug,多线程动态调试库,连接MSVCRTD.lib库,对应动态库为MSVCRTD.dll
开发多线程程序时(单线程本文不做讨论),需要选择MT、MTd、MD、MDd其中的一个。
error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”
1>LIBCMTD.lib(tzset.obj) : error LNK2005: __tzset 已经在 MSVCRTD.lib(MSVCR120D.dll) 中定义
可以考虑是否链接的lib的调式的运行库不一致。
查看方式:项目属性->C/C++->代码生成->运行库 应该修改成一致。
查看网络上的资料如下:
MT:mutithread,多线程库,编译器会从运行时库里面选择多线程静态连接库来解释程序中的代码,即连接LIBCMT.lib库
MTd:mutithread+debug,多线程调试版,连接LIBMITD.lib库
MD:MT+DLL,多线程动态库,连接MSVCRT.lib库,这是个导入库,对应动态库为MSVCRT.dll
MDd: MT+DLL+debug,多线程动态调试库,连接MSVCRTD.lib库,对应动态库为MSVCRTD.dll
开发多线程程序时(单线程本文不做讨论),需要选择MT、MTd、MD、MDd其中的一个。
相关文章推荐
- android 资源
- VC++使用ADO连接SQL Server数据库
- IOS 添加标题
- VC宽字节与多字节转换,应之一 CString宽字节转char
- C++中为什么要有.h文件和.cpp文件
- 《大型分布式网站架构设计与实践》读书笔记
- Android getTopActivity的方法
- 每天一个linux命令(13):less 命令
- js 中对象的特性
- iOS开发之网络编程--中文转码
- java实现单人版五子棋游戏
- 测试6625
- HDU 1878 欧拉回路
- python学习笔记-Day14 -css基础知识-part2
- oracle系统包——dbms_job用法(oracle定时任务)
- css中的行框和行内框的通俗理解
- 8VC Venture Cup 2016 - Elimination Round E. Simple Skewness 暴力+二分
- 2016.02.14 总结JS事件
- final、static、this、continue与break关键字的使用
- [bzoj3173][TJOI2013]最长上升子序列