安裝或設定
始終建議你訪問 LLVM 官方網站, 並根據你的作業系統遵循安裝指南。
如果你正在使用 posix,那麼簡而言之,你必須新增一個官方 LLVM 包儲存庫 。例如,如果你使用 Ubuntu Xenial(16.04)
,則可以在/etc/apt/sources.list
檔案中新增 deb
和 deb-src
條目:
$ sudo su
$ echo deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main \ >> /etc/apt/sources.list
$ echo deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main \ >> /etc/apt/sources.list
一旦你這樣做,安裝就像呼叫一樣簡單
$ sudo apt update
$ sudo apt install clang-X
X
是你要找的版本(4.0 是寫這篇文章時的最新版本)。
請注意,clang 是一個在 LLVM 上編寫的 C / C++編譯器(現在實際上是自託管的)並且與所有 LLVM 庫一起使用。一旦你這樣做,你可以去任何 turorial 並開始編碼。
如果你希望可以手動安裝 LLVM 庫。為此你只需要 apt install llvm-Y
,其中 Y
是你正在尋找的庫。但是我建議使用帶有 clang 的專案來編譯 LLVM。
一旦你這樣做,你應該有 llvm-config
工具。獲取正確的 LLVM 專案編譯所需的編譯器標誌非常有用。所以它工作的第一個測試是通過呼叫
$ llvm-config-4.0 --cxxflags --libs engine
-I/usr/lib/llvm-4.0/include -std=c++0x -gsplit-dwarf -Wl,-fuse-ld=gold -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -Werror=date-time -std=c++11 -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
-lLLVM-4.0
你可能會得到一組不同的標誌,不用擔心。只要它沒有與 command not found
失敗你應該沒事。
下一步是測試實際的 LLVM 庫本身。所以讓我們建立一個簡單的 llvmtest.cpp
檔案:
#include <iostream>
#include "llvm/IR/LLVMContext.h"
int main() {
llvm::LLVMContext context;
std::cout << &context << std::endl;
return 0;
};
請注意,我使用 std::cout
以便我們實際使用 context
變數(因此編譯器在編譯階段不會刪除它)。現在用。編譯檔案
$ clang++-4.0 -o llvmtest `llvm-config-4.0 --cxxflags --libs engine` llvmtest.cpp
並測試它
$ ./llvmtest
0x7ffd85500970
恭喜! 你已準備好使用 LLVM。