how to compile with llvm and g++?
I use a fedora-11 system and recently I installed llvm ( sudo yum -y install llvm llvm-docs llvm-devel
).
When I search for llvm I get them in /usr/bin
. Some of the links to the binaries are broken (llvm-gcc
,llvm-g++
,llvm-cpp
,etc.). The include files are found within /usr/include/llvm
and libs at /usr/lib/llvm
. How to compile them using g++
? I tried to compile the kaleidoscope code given in the tutorial as per directed, but it fails to compile.
I get this:
toy.cpp:5:30: error: llvm/LLVMContext.h: No such file or directory
toy.cpp:352: error: ‘getGlobalContext’ was not declared in this scope
toy.cpp: In member function ‘virtual llvm::Value* NumberExprAST::Codegen()’:
toy.cpp:358: error: ‘getGlobalContext’ was not declared in this scope
toy.cpp: In member function ‘virtual llvm::Value* Bina开发者_开发百科ryExprAST::Codegen()’:
toy.cpp:379: error: ‘getDoubleTy’ is not a member of ‘llvm::Type’
toy.cpp:379: error: ‘getGlobalContext’ was not declared in this scope
toy.cpp: In member function ‘llvm::Function* PrototypeAST::Codegen()’:
toy.cpp:407: error: ‘getDoubleTy’ is not a member of ‘llvm::Type’
toy.cpp:407: error: ‘getGlobalContext’ was not declared in this scope
toy.cpp:408: error: ‘getDoubleTy’ is not a member of ‘llvm::Type’
toy.cpp: In member function ‘llvm::Function* FunctionAST::Codegen()’:
toy.cpp:454: error: ‘getGlobalContext’ was not declared in this scope
toy.cpp: In function ‘int main()’:
toy.cpp:543: error: ‘LLVMContext’ was not declared in this scope
toy.cpp:543: error: ‘Context’ was not declared in this scope
toy.cpp:543: error: ‘getGlobalContext’ was not declared in this scope
I cannot find the LLVMContext.h
file too. So I guess this might be a version problem.
what should I do to make it work?
Some help would be good! thanks in advance... :)
Looks like the headers weren't installed or were installed in a path you aren't using. My suggestion would be to download the code from the llvm.org website or svn and use that to build up the Kaleidoscope example. It's fairly simple and all the code is in the examples directory.
Instead of using yum, install clang/llvm by following this, or this link.
精彩评论