Compilation 如何编译C++;包含LLVMAPI头的程序? 我试图用C++编译器编译以下程序: #include <stdio.h> #include "llvm/IR/LLVMContext.h" #include "llvm/Support/SourceMgr.h" #include "llvm/IR/Module.h" int main( int argc, char* argv[] ) { if( argc < 2 ) llvm::errs() << "Expected an argument - IR file name\n"; llvm::LLVMContext &context = llvm::getGlobalContext(); llvm::SMDiagnostic err; llvm::Module* module = llvm::ParseIRFile( argv[1], err, context ); if( !mod ) { err.print( argv[0], errs() ); return 1; } return 0; }

Compilation 如何编译C++;包含LLVMAPI头的程序? 我试图用C++编译器编译以下程序: #include <stdio.h> #include "llvm/IR/LLVMContext.h" #include "llvm/Support/SourceMgr.h" #include "llvm/IR/Module.h" int main( int argc, char* argv[] ) { if( argc < 2 ) llvm::errs() << "Expected an argument - IR file name\n"; llvm::LLVMContext &context = llvm::getGlobalContext(); llvm::SMDiagnostic err; llvm::Module* module = llvm::ParseIRFile( argv[1], err, context ); if( !mod ) { err.print( argv[0], errs() ); return 1; } return 0; },compilation,linker,clang,llvm,llvm-c++-api,Compilation,Linker,Clang,Llvm,Llvm C++ Api,但是,当我编译时,会出现以下编译错误: main.cpp:2:10: fatal error: 'llvm/IR/LLVMContext.h' file not found #include "llvm/IR/LLVMContext.h" ^ 1 error generated. 在本例中,我不确定在使用Clang编译main.cpp时如何链接LLVM API头 任何帮助都将不胜感激。您需要签出LLVM或将其安装在系统的某个位置。您可以下载一个二进制版本(带有可根据其生成的头

但是,当我编译时,会出现以下编译错误:

main.cpp:2:10: fatal error: 'llvm/IR/LLVMContext.h' file not found
#include "llvm/IR/LLVMContext.h"
         ^
1 error generated.
在本例中,我不确定在使用Clang编译main.cpp时如何链接LLVM API头


任何帮助都将不胜感激。

您需要签出LLVM或将其安装在系统的某个位置。您可以下载一个二进制版本(带有可根据其生成的头文件和库),如下所述:

您还可以从其SVN存储库中检出LLVM,如下所述:


完成此操作后,我建议您查看带有Makefiles的存储库,其中显示了如何构建示例程序和最新的LLVM。

您可以使用以下命令: g++-std=c++11 main.cpp`llvm config--system libs--cppflags--ldflags--libs core`-o main

其中--libs和--system libs标志用于链接,--cppflags负责包含路径


谢谢

llvm-config--cxflags
llvm-config--help;注意--cxxflags只适用于编译,而不适用于链接。这已经过时了。有新的解决方案吗?
main.cpp:2:10: fatal error: 'llvm/IR/LLVMContext.h' file not found
#include "llvm/IR/LLVMContext.h"
         ^
1 error generated.