2

我正在尝试在 Unix 上链接到 LLVM 和 Clang,并遇到了一些问题。

llvm-config 的文档说此选项将“打印使用 LLVM 标头所需的 C++ 编译器标志。”,该示例显示使用这些标志编译用户的代码。等等,什么?这是否意味着,由于 LLVM 是使用 -fno-rtti 编译的,并且它在 llvm-config --cxxflags 的列表中,所以没有人可以编译一个使用 RTTI 并链接到 LLVM 的程序Unix?

为什么 LLVM 需要 -fno-rtti 来包含它们的标头

4

1 回答 1

1

请参阅http://llvm.org/docs/Packaging.html

LLVM 默认禁用 RTTI。在运行 make 时将 RE​​QUIRES_RTTI=1 添加到您的环境以重新启用它。这将允许用户在启用 RTTI 的情况下进行构建,并且仍然从 LLVM 类继承。

于 2013-07-30T21:31:11.570 回答