作者flypaper (一直飛)
看板C_and_CPP
標題[問題] 關於llvm tutorial
時間Wed Oct 17 00:33:26 2018
開發平台(Platform): (Ex: Win10, Linux, ...)
Ubuntu
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
clang
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
llvm
問題(Question):
我在看llvm的附帶文件:
http://llvm.org/docs/WritingAnLLVMPass.html#running-a-pass-with-opt
裡面有段 Hello.cpp
然後我發現 clang++ Hello.cpp是無法成功編譯檔案的
(錯誤訊息有點多 所以我就不加上了
我也試著編譯 關於llvm/lib/Transform裡面 也是無法成功
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
p.s我付的網址裡面有這段code
#include "llvm/Pass.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
namespace {
struct Hello : public FunctionPass {
static char ID;
Hello() : FunctionPass(ID) {}
bool runOnFunction(Function &F) override {
errs() << "Hello: ";
errs().write_escaped(F.getName()) << '\n';
return false;
}
}; // end of struct Hello
} // end of anonymous namespace
char Hello::ID = 0;
static RegisterPass<Hello> X("hello", "Hello World Pass",
false /* Only looks at CFG */,
false /* Analysis Pass */);
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.192.11
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1539707610.A.7CA.html
→ a1u1usul3: 編譯參數?llvm版本? 10/17 00:36
→ a1u1usul3: 錯誤訊息? 10/17 00:36
我有參考過這位大大的文章 但是總是失敗
版本:llvm-config --version 出現的結果8.0.0 svn
編譯參數:單單只有clang Hello.cpp這樣
錯誤訊息:太多了塞不下
推 a1u1usul3: 8.0.0非穩定版。編譯參數一定要像他那樣加一長串 10/17 00:46
→ a1u1usul3: 單單只有clang pass.cpp,則header檔和library都不知道 10/17 00:50
→ a1u1usul3: 要找誰,要在編譯的參數去指定 10/17 00:50
感謝這位大大的指導
※ 編輯: flypaper (111.251.192.11), 10/17/2018 05:57:43
→ akasan: 1f blog 的範例已經更新並在 LLVM 6 & 7 測試過摟~ 10/18 23:03
推 a1u1usul3: 樓上是本人嗎OAO? 10/19 02:45