分享方式:


命令列上的 MSBuild - C++

一般而言,建議您使用 Visual Studio 來設定專案屬性並叫用 MSBuild 系統。 不過,您可以直接從命令提示字元使用 MSBuild 工具。 建置程序是由專案檔 (.vcxproj) 中您可以建立和編輯的資訊所控制。 專案檔會根據建置階段、條件和事件來指定建置選項。 此外,您可以指定零個或多個命令列 options 引數。

msbuild.exe [ project_file ] [ options ]

使用 /target (或 /t) 和 /property (或 /p) 命令列選項來覆寫專案檔中指定的特定屬性和目標。

專案檔的基本功能是指定目標,這是套用至專案的特定作業,以及執行該作業所需的輸入和輸出。 專案檔可以指定一或多個目標,其可以包含預設目標。

每個目標都包含一或多個工作序列。 每個工作都會以包含一個可執行命令的 .NET Framework 類別來表示。 例如,CL 工作包含 cl.exe 命令。

工作參數是類別工作的屬性,通常代表可執行命令的命令列選項。 例如,CL 工作的 FavorSizeOrSpeed 參數會對應至 /Os/Ot 編譯器選項。

其他工作參數支援 MSBuild 基礎結構。 例如,Sources 工作參數會指定一組可由其他工作取用的工作。 如需 MSBuild 工作的詳細資訊,請參閱工作參考

大部分的工作都需要輸入和輸出,例如檔案名稱、路徑和字串、數值或布林值參數。 例如,常見的輸入是要編譯的 .cpp 來源檔案的名稱。 重要的輸入參數是指定組建設定和平台的字串,例如 "Debug|Win32"。 輸入和輸出是由 ItemGroup 元素中包含的一或多個使用者定義 XML Item 元素指定。

專案檔也可以指定使用者定義的屬性ItemDefinitionGroup 項目。 屬性和項目格式名稱/值組,可用來作為組建中的變數。 配對的名稱元件會定義巨集,而值元件會宣告巨集值。 屬性巨集是使用 $(name) 標記法來存取,而項目巨集則是使用 %(name) 標記法來存取。

專案檔中的其他 XML 元素可以測試巨集,然後有條件地設定任何巨集的值,或控制建置的執行。 巨集名稱和常值字串可以串連以產生建構,例如路徑和檔案名稱。 在命令列上,/property 選項會設定或覆寫專案屬性。 命令列上無法參考項目。

MSBuild 系統可以有條件地在另一個目標之前或之後執行目標。 此外,系統可以根據目標取用的檔案是否比發出的檔案更新,來建置目標。

如需 MSBuild 的詳細資訊,請參閱:

本節內容

詞彙 定義
逐步解說:使用 MSBuild 來建立 C++ 專案 示範如何使用 MSBuild 建立 Visual Studio C++ 專案。
如何:在 MSBuild 專案中使用建置事件 示範如何指定在建置的特定階段發生的動作:在建置開始之前;連結步驟開始之前;或建置結束之後。
如何:將自訂建置步驟新增至 MSBuild 專案 示範如何將使用者定義的階段新增至建置順序。
如何:將自訂建置工具新增至 MSBuild 專案 示範如何將建置工具與特定檔案產生關聯。
如何:將自訂工具整合至專案屬性中 示範如何將自訂工具的選項新增至專案屬性。
如何:修改目標 Framework 和平台工具組 示範如何編譯多個架構或工具組的專案。

另請參閱

從命令列使用 MSVC 工具組