Boost C++ Libraries

PrevUpHomeNext

產生的標頭檔

通常,Boost.Build 會完全自動處理隱式依賴關係。例如,對於 C++ 檔案,所有 #include 陳述式都會被找到並處理。唯一可能需要使用者協助的方面是對產生檔案的隱式依賴。

預設情況下,Boost.Build 會在一個主目標內處理此類依賴關係。例如,假設主目標「app」有兩個來源檔,「app.cpp」和「parser.y」。後者會被轉換為「parser.c」和「parser.h」。那麼,如果「app.cpp」包含「parser.h」,Boost.Build 將會偵測到此依賴關係。此外,由於「parser.h」將會產生到建置目錄中,因此該目錄的路徑會自動新增到 include 路徑中。

要讓此機制跨主目標運作是可行的,但會產生一定的額外負荷。因此,如果存在對其他主目標檔案的隱式依賴關係,則必須使用 <implicit-dependency> 功能,例如:

lib parser : parser.y ;
exe app : app.cpp : <implicit-dependency>parser ;

上述範例告訴建置系統,在掃描「app」的所有來源檔以查找隱式依賴關係時,它應該將「parser」的目標視為潛在的依賴關係。


PrevUpHomeNext