3

我使用的是 fedora-11 系统,最近我安装了 llvm ( sudo yum -y install llvm llvm-docs llvm-devel)。当我搜索 llvm 时,我将它们放入/usr/bin. 一些二进制文件的链接已损坏(llvm-gccllvm-g++llvm-cpp等)。包含文件位于/usr/include/llvm和库中/usr/lib/llvm。如何编译它们使用g++?我尝试按照指导编译教程中给出的万花筒代码,但编译失败。

我明白了:

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* BinaryExprAST::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

我也找不到LLVMContext.h文件。所以我想这可能是一个版本问题。我应该怎么做才能让它工作?

一些帮助会很好!提前致谢... :)

4

2 回答 2

0

看起来标头未安装或安装在您未使用的路径中。我的建议是从 llvm.org 网站或 svn 下载代码并使用它来构建 Kaleidoscope 示例。它相当简单,所有代码都在示例目录中。

于 2011-03-21T21:28:26.170 回答
0

不要使用 yum,而是按照这个这个链接安装 clang/llvm。

于 2013-02-12T10:30:02.760 回答