Getting Started: Building and Running Clang
本頁面爲您提供最短路徑檢查Clang和演示幾個例子。這應該能讓最小的遇到麻煩和混亂來運行它。如何你得到了你想要的結果,請考慮參與Clang社團
Building Clang and Working with the Code
如果你要檢查和編譯Clang,具體步驟如下:
-
獲得所需的工具
-
檢查LLVM
-
檢查Clang
-
檢查附加的Clang工具:(可選)
cd llvm/tools/clang/tools
svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
-
檢查Compiler-RT
-
編譯LLVM和Clang
mkdir build
cd build
../llvm/configure
make
這個同時建立了LLVM和Clang調試模式。
注意:爲了之後Clang的發展,你也可以只在Clang目錄下編譯
它也可以使用CMake代替Makefiles
如果你打算用Clang的C++,你需要告訴如何尋找你的C++標準庫頭文件。通常,Clang將檢測到的最好的版本libstdc++頭文件的可用性和使用它們。看起來既爲系統安裝libstdc++以及安裝Clang本身。如果您的配置不符合這些情況,你可以用--with-gcc-toolchain編譯選項來告訴Clang gcc包含所需的libstdc++的安裝位置
注意Clang前端使用LLVM,但是不是依靠llvm-gcc。如果你在編譯Clang時遇到了問題,確保你用最新的LLVM SVN 版本.
LLVM包含有Clang以及Clang發展更新的支持庫。
Simultaneously Building Clang and LLVM
一旦你檢查了llvm源碼樹中的Clangm,它將和剩下的llvm一起編譯。爲了讓LLVM和Clang同時編譯我們只需要在 LLVM根目錄運行make命令
注意:要讓Clang在技術上是Subversion版本庫中獨立的的一部分。就像上面提到的,最新的Clang資源是和最新的LLVM資源綁在一起的。你可一用make update來升級LLVM項目和以及所有包含在LLVM(可能無關的)中的項目。這將在和subversion有關的所有子目錄中運行 svn update。
Clang Compiler Driver (Drop-in Substitute for GCC)(替代GCC)
Clang工具編譯驅動程序和前端,是設計用來替代gcc的。這裏有一些例子,如何使用高級的編譯器的。
$ cat t.c
#include <stdio.h>
int main(int argc, char **argv)
{ printf("hello world");}
$ clang t.c
$ ./a.out
hello world
Clang設計得最大可能的接近於GCC的工作方式。
只有兩者的主要差別是,
Clang默認爲gnu99模式而GCC默認gnu89模式。
如果你遇到了關於內聯函數的連接錯誤,
在Clang中試試 -std=gnu89