2014-10-07 45 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