2014-09-21 220 views
0

我試圖使用C++編譯器編譯下面的程序:如何編譯包含LLVM API頭文件的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; 
} 

我嘗試使用下面的命令來編譯程序:

clang++ main.cpp -o main 

然而,當我編譯,我得到以下編譯錯誤:

main.cpp:2:10: fatal error: 'llvm/IR/LLVMContext.h' file not found 
#include "llvm/IR/LLVMContext.h" 
     ^
1 error generated. 

在這種情況下,我不完全知道如何與編譯的main.cpp當LLVM API頭鏈接鐺。

任何幫助將不勝感激。

+0

'llvm-config --cxxflags' – 2014-09-21 22:06:51

+0

llvm-config --help;請注意--cxxflags僅適用於編譯,但不適用於鏈接。 – 2014-09-22 16:57:13

回答