как скомпилировать с llvm и g ++? - PullRequest
3 голосов
/ 02 апреля 2010

Я использую систему fedora-11, и недавно я установил llvm (sudo yum -y install llvm llvm-docs llvm-devel). Когда я ищу llvm, я получаю их в /usr/bin. Некоторые ссылки на двоичные файлы не работают (llvm-gcc, llvm-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. Так что я думаю, это может быть проблема с версией. что я должен сделать, чтобы это работало?

Некоторая помощь будет хорошей! заранее спасибо ...:)

Ответы [ 2 ]

0 голосов
/ 12 февраля 2013

Вместо использования yum, установите clang / llvm, перейдя по этой или этой ссылке.

0 голосов
/ 22 марта 2011

Похоже, что заголовки не были установлены или были установлены в пути, который вы не используете. Мое предложение было бы скачать код с веб-сайта llvm.org или svn и использовать его для создания примера Калейдоскопа. Это довольно просто, и весь код находится в каталоге примеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...