![]() |
Boost.Build 在啟動時會搜尋並讀取兩個設定檔:site-config.jam
和 user-config.jam
。前者通常由系統管理員安裝和維護,後者則供使用者修改。您可以編輯 Boost.Build 安裝目錄頂層的檔案,或在您的家目錄中建立副本並編輯副本。下表說明了搜尋這兩個檔案的位置。
表 3.1. 設定檔的搜尋路徑
site-config.jam | user-config.jam | |
---|---|---|
Linux |
|
|
Windows |
|
|
您可以使用 --debug-configuration 選項來找出實際載入了哪些設定檔。
通常,user-config.jam
只是定義可用的編譯器和其他工具(更進階的用法請參閱 site-config.jam 中的目標)。工具的設定使用以下語法
using tool-name
: ... ;
using
規則會被指定工具的名稱,並使該工具可供 Boost.Build 使用。例如,
using gcc ;
將使 GCC 編譯器可用。
所有支援的工具都記錄在 內建工具 中,包括它們使用的特定選項。以下是一些適用於大多數 C++ 編譯器的一般注意事項。
對於 Boost.Build 原生支援的所有 C++ 編譯器工具組,using
的參數列表都相同:toolset-name
、version
、invocation-command
和 options
。
如果您只有一個編譯器,且編譯器執行檔
具有其「常用名稱」且位於 PATH
中,或
已安裝在標準的「安裝目錄」中,或
可以使用像是 Windows 註冊表這樣的全域系統找到。
則可以簡單地設定為
using tool-name
;
如果編譯器安裝在自訂目錄中,您應該提供呼叫編譯器的指令,例如
using gcc : : g++-3.2 ; using msvc : : "Z:/Programs/Microsoft Visual Studio/vc98/bin/cl" ;
某些 Boost.Build 工具組會使用該路徑來執行呼叫編譯器之前所需的額外動作,例如呼叫供應商提供的腳本來設定其所需的環境變數。當 C 和 C++ 的編譯器執行檔不同時,必須指定 C++ 編譯器執行檔的路徑。該指令可以是作業系統允許的任何指令。例如
using msvc : : echo Compiling && foo/bar/baz/cl ;
可以正常運作。
要設定多個版本的工具組,只需多次呼叫 using
規則
using gcc : 3.3 ; using gcc : 3.4 : g++-3.4 ; using gcc : 3.2 : g++-3.2 ;
請注意,在第一次呼叫 using
時,將會使用在 PATH
中找到的編譯器,而無需明確指定指令。
許多工具組都有一個 options
參數來微調設定。所有 Boost.Build 的標準編譯器工具組都接受四個選項 cflags
、cxxflags
、compileflags
和 linkflags
作為 options
,用於指定將始終傳遞給對應工具的旗標。cflags
特性的值會直接傳遞給 C 編譯器,cxxflags
特性的值會直接傳遞給 C++ 編譯器,而 compileflags
特性的值會傳遞給兩者。例如,要設定 gcc 工具組,使其始終產生 64 位元程式碼,您可以撰寫
using gcc : 3.4 : : <compileflags>-m64 <linkflags>-m64 ;
雖然用於指定工具組選項的語法與用於在 Jamfile 中指定需求的語法非常相似,但工具組選項與特性不同。不要嘗試在工具組初始化中指定特性值。