我从SVN下载了LLVM和Clang,构建了它们,并编写了一个小样本程序。但是,LLVM标头(llvm/support/type_traits.h
)似乎包含另一个LLVM标头llvm/support/DataTypes.h
,该标头不存在。我检查了LLVM网站上的文档,他们似乎也不认为它应该存在。
如何解决此问题?
答案 0 :(得分:2)
某些文件会自动生成到构建目录中。在编译程序以将LLVM用作库时,请始终使用llvm-config
工具为您提供正确的头目录和库目录以进行链接。我在Makefile
:
LLVM_CONFIG_COMMAND = `$(LLVM_BIN_PATH)/llvm-config --cxxflags --libs` \
`$(LLVM_BIN_PATH)/llvm-config --ldflags`
我在编译器命令行中使用它。
LLVM_BIN_PATH = $(LLVM_BUILD_PATH)/Debug+Asserts/bin
其中LLVM_BUILD_PATH
是您运行configure
的路径,其余部分取决于您构建的版本(我通常使用Debug + Asserts来破解LLVM内部)。