我正在使用VS 2017在调试模式下构建我的应用程序。我已经在发布模式下构建了第三方库,它依赖于它并链接到。这是允许的还是报告错误的原因。
LNK2038 mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MTd_StaticDebug' in xxx.obj my-application <path-to>\libboost_filesystem-mt-s.lib(path_traits.obj) 1
This页面说明:
运行时库 指示应用程序或库使用的C ++标准库和C运行时的版本。使用一个版本的C ++标准库或C运行时的代码与使用不同版本的代码不兼容。有关更多信息,请参阅/ MD,/ MT,/ LD(使用运行时库)。
据我所知,DLL运行时库无法与非DLL库混合使用。调试和发布库是否也一样?
在Linux上做同样的事情我没有任何问题。