您的位置:首页 > 其它

运行库不一致导致的问题(/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其中的一个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: