将静态库与动态库错误链接:LNK2038检测到不匹配

时间:2018-02-18 12:29:55

标签: c++ dll visual-studio-2015 static-libraries

我是Windows环境的新手,我正在尝试在Visual Studio 2015 Update 3中构建DLL项目.DLI项目依赖于一些库,DLL以及静态(BeJsonCpp.lib)

当我尝试编译项目时,我得到了

  

LNK2038

描述如下

mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' dosen't match value 'MDd_DynamicDebug' in .obj

我尝试使用/ MD(MD_DynamicRelease)代码生成选项以及/ MDd(MDd_DynamicDebug)选项编译项目,但错误仍然存​​在。

如果我将项目配置类型从动态库(.dll)更改为静态库(.lib),我可以成功编译和链接项目而不会出现任何错误。但是将其编译为动态库会引发上述错误。

我认为BeJsonCpp是针对静态环境而构建的,因此它显示了这种行为。

我希望输出为DLL。

我没有BeJsonCpp库的来源。

0 个答案:

没有答案