0

我想在 Windows 上将 clang-cl 与地址清理程序一起使用。尝试使用来自官方安装程序的预构建 llvm/clang 包时,我收到链接器错误,因为我的应用程序需要链接到动态 CRT (/MD) 而不是静态 CRT (/MT,llvm/clang 安装程序中的包具有编译器-rt 用这个构建)。

我想将它与 Qt 一起使用,因为我没有设法使用 /MT 构建 Qt 本身。

根据谷歌工程师的这些幻灯片,使用 /MT 构建 compiler-rt/asan 是可能的。

在构建 llvm/clang 以使用 /MT 构建 compiler-rt 时,与这些指令相比,我需要进行哪些更改?

4

1 回答 1

0

事实证明,我的链接器错误还有另一个原因。

要查找所需的库,请使用以下命令构建一个小型 hello-world 应用程序,检查生成的链接器命令并显式链接到所需的库:

clang-cl -v -fsanitize=address /MD test.cpp

PR35343(目前未解决)是关于支持在 lld-link 中自动链接消毒剂库,就像在其他平台上所做的那样。

于 2018-03-20T10:17:38.550 回答