在工程上右键-》属性-》c/c++-》代码生成-》运行库
因为所选的工程运行库选择错误导致的。
其中四个选项的对应含义如下:
多线程调试Dll (/MDd) 对应的是MD_DynamicDebug
多线程Dll (/MD) 对应的是MD_DynamicRelease
多线程(/MT) 对应的是MD_StaticRelease
多线程(/MTd)对应的是MD_StaticDebug
这种问题,根据所给的提示,修改成对应的运行库就可以了。
例如:我的问题是:
Error 4 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MT_StaticRelease' in main.obj
也就是说:MDd不匹配MT
所以要将代码生成中的运行库,多线程MT改成多线程 MDd。哈哈这样就运行成功了。
库的编译选项和工程的编译选项不同,要使用相同的运行模式。实在不行挨个试,总有一款适合你。