1

我有一个建立在 LLVM 之上的项目。现在我正在尝试提出一个至少可以在 Mac OS、Ubuntu 和 CentOS 平台上运行的 CMakeLists 文件。为此,我/opt/llvm-3.9/bin/llvm-config --libnames x86 ...将我的项目与它需要的库链接起来,并且我正在考虑使用llvm-config --cxxflags

--cxxflags 包含 LLVM 头文件的 C++ 编译器标志。

然而,问题是它llvm-config --cxxflags提供了我的库需要的更多标志,特别是它添加了-O3我绝对不希望在我的项目的调试版本中出现的标志:

/opt/llvm-3.9/bin/llvm-config --cxxflags

-I/opt/llvm-3.9/include -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Werror=date-time -std=c++11 -O3 -DNDEBUG -fno-exceptions -fno-rtti -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS - D__STDC_LIMIT_MACROS

看起来它--cxxflags给出了构建 LLVM 本身的标志,而不是它建议我用于我的 .cpp 文件的标志。

这个线程[LLVMdev] Ideas for making llvm-config --cxxflags 更有用在它的开头有我的问题,但最终无处可去。

获取我的项目可能需要的与 LLVM 链接的文件的 LLVM 标志的正确方法是什么?

4

0 回答 0