LLVM引用不存在的标头

Pup*_*ppy 6 c++ llvm

我从SVN下载了LLVM和Clang,构建了它们,并编写了一个小样本程序.但是,LLVM标头(llvm/support/type_traits.h)似乎包含另一个LLVM标头llvm/support/DataTypes.h,该标头不存在.我检查了LLVM网站上的文档,他们似乎也不认为它应该存在.

我该如何解决这个问题?

Eli*_*sky 2

一些文件会自动生成到构建目录中。当编译程序以使用 LLVM 作为库时,请始终使用该llvm-config工具为您提供正确的头目录和库目录以进行链接。我的Makefile

LLVM_CONFIG_COMMAND = `$(LLVM_BIN_PATH)/llvm-config --cxxflags --libs` \
                      `$(LLVM_BIN_PATH)/llvm-config --ldflags`
Run Code Online (Sandbox Code Playgroud)

我在编译器命令行上使用它。

LLVM_BIN_PATH = $(LLVM_BUILD_PATH)/Debug+Asserts/bin
Run Code Online (Sandbox Code Playgroud)

LLVM_BUILD_PATH你运行的路径在哪里configure,其余部分取决于你构建的版本(我通常使用 Debug+Asserts 来侵入 LLVM)。