Boost C++ Libraries

PrevUpHomeNext

設定

Boost.Build 在啟動時會搜尋並讀取兩個設定檔:site-config.jamuser-config.jam。前者通常由系統管理員安裝和維護,後者則供使用者修改。您可以編輯 Boost.Build 安裝目錄頂層的檔案,或在您的家目錄中建立副本並編輯副本。下表說明了搜尋這兩個檔案的位置。

表 3.1. 設定檔的搜尋路徑

  site-config.jam user-config.jam
Linux

/etc

$HOME

$BOOST_BUILD_PATH

$HOME

$BOOST_BUILD_PATH

Windows

%SystemRoot%

%HOMEDRIVE%%HOMEPATH%

%HOME%

%BOOST_BUILD_PATH%

%HOMEDRIVE%%HOMEPATH%

%HOME%

%BOOST_BUILD_PATH%


提示

您可以使用 --debug-configuration 選項來找出實際載入了哪些設定檔。

通常,user-config.jam 只是定義可用的編譯器和其他工具(更進階的用法請參閱 site-config.jam 中的目標)。工具的設定使用以下語法

using tool-name : ... ;

using 規則會被指定工具的名稱,並使該工具可供 Boost.Build 使用。例如,

using gcc ;

將使 GCC 編譯器可用。

所有支援的工具都記錄在 內建工具 中,包括它們使用的特定選項。以下是一些適用於大多數 C++ 編譯器的一般注意事項。

對於 Boost.Build 原生支援的所有 C++ 編譯器工具組,using 的參數列表都相同:toolset-nameversioninvocation-commandoptions

如果您只有一個編譯器,且編譯器執行檔

則可以簡單地設定為

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 的標準編譯器工具組都接受四個選項 cflagscxxflagscompileflagslinkflags 作為 options,用於指定將始終傳遞給對應工具的旗標。cflags 特性的值會直接傳遞給 C 編譯器,cxxflags 特性的值會直接傳遞給 C++ 編譯器,而 compileflags 特性的值會傳遞給兩者。例如,要設定 gcc 工具組,使其始終產生 64 位元程式碼,您可以撰寫

        using gcc : 3.4 : : <compileflags>-m64 <linkflags>-m64 ;

警告

雖然用於指定工具組選項的語法與用於在 Jamfile 中指定需求的語法非常相似,但工具組選項與特性不同。不要嘗試在工具組初始化中指定特性值。


PrevUpHomeNext