如何针对不同的运行时在Windows链接上发出叮当声 当试图在C++中构建个人项目时,我遇到了一个问题。我不确定它是什么时候表现出来的,因为我通常在Linux环境下工作,但希望该项目在Windows上工作

如何针对不同的运行时在Windows链接上发出叮当声 当试图在C++中构建个人项目时,我遇到了一个问题。我不确定它是什么时候表现出来的,因为我通常在Linux环境下工作,但希望该项目在Windows上工作,c++,windows,runtime,clang,clang++,C++,Windows,Runtime,Clang,Clang++,不幸的是,我正在使用的编译器Clang开始向我抛出以下错误: libboost_filesystem-vc140-mt-1_61.lib(operations.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in buffer.obj 问题是我不知道如何告诉Clang底层编译器应该使用哪个运

不幸的是,我正在使用的编译器Clang开始向我抛出以下错误:

libboost_filesystem-vc140-mt-1_61.lib(operations.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in buffer.obj
问题是我不知道如何告诉Clang底层编译器应该使用哪个运行时,如果不需要的话,我现在不希望使用
Clang cl


什么是针对动态运行时在Windows链接上发出叮当声的正确方法?

我不确定我所做的哪一部分阻止了链接器的抱怨,但在我的构建脚本中,我指定了
-D_MT-D_DLL
作为我的编译器和链接器选项中的两个,并且对于我的链接器,我必须禁用默认库(
-Xlinker/NODEFAULTLIB
)并手动指定要链接的运行时版本(在我的例子中,
-lmsvcrt-lucrt-lmsvcprt-lvcruntime
)。这两个更改似乎已停止所有链接和编译错误。

\u MT
=多线程,
\u DLL
=动态链接运行时。这些编译标志需要与链接的库相匹配。