2014-10-07 47 views
2

我試圖編譯使用LLVM程序,下面這個教程,writing a toy compiler,但是當我嘗試編譯我不斷收到一個包括LLVM,Value.h沒有發現

'fatal error: 'llvm/Value.h' file not found' 

我使用LLVM -config --cxxflags,並且它爲編譯器提供的目錄

-I/usr/local/Cellar/llvm/3.5.0/include 

爲包括。 Value.h似乎actualy在目錄

/usr/local/Cellar/llvm/3.5.0/include/IR, 

,但如果我在包括加IR,那麼缺少的頭只是在不同的文件中彈出。

如果有幫助,我使用的是全LLVM-config命令,

llvm-config --libs core jit native --cxxflags --ldflags 

,它的輸出,

-I/usr/local/Cellar/llvm/3.5.0/include -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -std=c++11 -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -fno-common -Woverloaded-virtual -Wcast-qual 
-L/usr/local/Cellar/llvm/3.5.0/lib 
-lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMObject -lLLVMMCParser -lLLVMBitReader -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT -lLLVMExecutionEngine -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMCore -lLLVMSupport 

我使用OSX 10.9.5和LLVM 3.5安裝了自制軟件。

任何意見將不勝感激,謝謝。

回答

2

我有同樣的問題,通過相同的教程。以下是我固定它在Ubuntu 14.04:

  1. 從根目錄我搜索的Value.h文件。

    $ sudo find . -name Value.h 
    ./usr/include/llvm-3.4/llvm/IR/Value.h 
    ./usr/lib/llvm-3.4/include/lldb/Core/Value.h 
    
  2. 我改變了包括聲明中node.h文件

    #include <llvm/IR/Value.h> 
    
+0

謝謝,固定的錯誤。現在還有更多。我開始認爲我的llvm版本可能與本教程中的版本不同。 – 2014-10-08 09:45:19

+0

當我偶然發現你的問題時,我碰巧遇到了同一個教程。我在教程過期時遇到了很多問題。如果我解決了所有問題,我會提供一篇博文並將其鏈接到此處。 – tn3rt 2014-10-08 15:23:10

+0

我找到了。代碼已更新,可在https://github.com/lsegal/my_toy_compiler.git找到。我不得不將'#include '行添加到'codegen.h'文件中,但除此之外,Makefile對我來說工作得很好。 – tn3rt 2014-10-10 03:53:45