3

私は fedora-11 システムを使用しており、最近 llvm ( sudo yum -y install llvm llvm-docs llvm-devel) をインストールしました。llvm を検索すると、 に表示され/usr/binます。バイナリへのリンクの一部が壊れています ( llvm-gccllvm-g++llvm-cppなど)。インクルード ファイルは/usr/include/llvm、 および libs にあり/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

yum を使用する代わりに、この、またはこのリンクに従って、clang/llvm をインストールしてください。

于 2013-02-12T10:30:02.760 に答える
0

ヘッダーがインストールされていないか、使用していないパスにインストールされているようです。私の提案は、llvm.org Web サイトまたは svn からコードをダウンロードし、それを使用して万華鏡の例を構築することです。これは非常に単純で、すべてのコードはサンプル ディレクトリにあります。

于 2011-03-21T21:28:26.170 に答える