VS6 C ++升级到VS2013会产生LNK2038 MT_StaticRelease / MD_DynamicRelease错误

时间:2014-11-10 11:28:05

标签: c++ dll visual-studio-2013 mfc static-libraries

我被交给了一个'年份'使用VS6 C ++构建的项目尝试在VS2013中运行(无需进行功能更改,只需构建和运行)。

我无法工作的最后一部分是该解决方案包含一个MetaDASTest.exe,它在共享DLL中使用MFC,运行时库设置为多线程DLL(/ MD)。

构建MetaDASTest.exe时,它使用MetaLibrary,它是一个静态库(.lib),不使用MFC(使用标准Windows库),运行时库设置为多线程(/ MT)。

构建MetaDASTest.exe项目时给出的输出如下:

Searching ..\..\Deployment\Release\MetaLibrary.lib:
Found "public: __thiscall Unipower::MetaLibrary::CSchemaSingleton::~CSchemaSingleton(void)" (??1CSchemaSingleton@MetaLibrary@Unipower@@QAE@XZ)
Referenced in MetaDASTest.obj
Referenced in MetaDASTestDlg.obj
Loaded MetaLibrary.lib(SchemaSingleton.obj)
MetaLibrary.lib(SchemaSingleton.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in MetaDASTestDlg.obj

这一切都在VS6中构建而没有修改......为什么RuntimeLibrary必须在VS2013中调用exe和被调用的lib之间进行匹配?我是否错过了使用升级向导未正确设置的项目属性设置?

0 个答案:

没有答案