共用方式為


Visual Studio 中的 C/C++專案和建置系統

您可以使用 Visual Studio 來編輯、編譯及建置任何具有完整 IntelliSense 支援C++程式代碼基底,而不需要將該程式代碼轉換成 Visual Studio 專案,或使用 MSVC 工具組編譯。 例如,您可以在 Windows 電腦上的 Visual Studio 中編輯跨平臺 CMake 專案,然後在遠端 Linux 電腦上使用 g++ 為 Linux 進行編譯。

C++編譯

若要 置C++程式,表示從一或多個檔案編譯原始程式碼,然後將這些檔案連結至可執行檔 (.exe)、動態載入連結庫 (.dll) 或靜態庫 (.lib)。

基本C++編譯牽涉到三個主要步驟:

  • C++預處理器會轉換每個來源檔案中的所有 #directives 和巨集定義。 這會建立 翻譯單位
  • C++編譯程式會將每個轉譯單位編譯成對象檔(.obj),並套用任何已設定的編譯程序選項。
  • 鏈接 會將物件檔合併成單一可執行檔,並套用已設定的連結器選項。

MSVC 工具組

Microsoft C++編譯程式、連結器、標準連結庫和相關公用程序組成 MSVC 編譯程式工具組(也稱為工具鏈或「建置工具」)。 這些包含在Visual Studio中。 您也可以下載並使用命令行工具組作為免費的獨立套件。 如需詳細資訊,請參閱 Visual Studio 下載頁面上的BuildTools for Visual Studio

您可以直接從命令行叫用 MSVC 編譯程式 (cl.exe) 來建置簡單的程式。 下列命令會接受單一原始碼檔案,並叫用 cl.exe 來建置名為 hello.exe 的可執行檔:

cl /EHsc hello.cpp

在這裡,編譯程式 (cl.exe) 會自動叫用C++預處理器和連結器,以產生最終輸出檔。 如需詳細資訊,請參閱在命令列上建置

建置系統和專案

大部分的實際程式會使用某種 建置系統 來管理編譯多個組態之多個原始程式檔的複雜度(偵錯與發行)、多個平臺(x86、x64、ARM 等)、自定義建置步驟,甚至是必須依特定順序編譯的多個可執行檔。 您可以在組建組態檔中建立設定,而建置系統會在叫用編譯程式之前接受該檔案做為輸入。 建置可執行檔所需的原始碼檔案集和建置組態檔稱為 專案

下列清單顯示 Visual Studio 專案的各種選項 - C++:

  • 使用 Visual Studio IDE 建立 Visual Studio 專案,並使用屬性頁進行設定。 Visual Studio 專案會產生在 Windows 上執行的程式。 如需概觀,請參閱 Visual Studio檔中的編譯和建置

  • 開啟包含CMakeLists.txt檔案的資料夾。 CMake 支援已整合至 Visual Studio。 您可以使用 IDE 來編輯、測試及偵錯,而不需以任何方式修改 CMake 檔案。 這可讓您使用與可能使用不同的編輯器的其他人員相同的 CMake 專案。 CMake 是跨平台開發的建議方法。 如需詳細資訊,請參閱 CMake 專案

  • 開啟原始程式檔沒有項目檔的鬆散資料夾。 Visual Studio 會使用啟發學習法來建置檔案。 這是編譯和執行小型控制台應用程式的簡單方式。 如需詳細資訊,請參閱 開啟資料夾專案

  • 開啟包含makefile或任何其他建置系統組態檔的資料夾。 您可以將 JSON 檔案新增至資料夾,將 Visual Studio 設定為叫用任何任意建置命令。 如需詳細資訊,請參閱 開啟資料夾專案

  • 在 Visual Studio 中開啟 Windows Makefile。 如需詳細資訊,請參閱 NMAKE 參考

來自命令行的 MSBuild

您可以從命令行叫用 MSBuild,方法是將.vcxproj檔案連同命令行選項一起傳遞。 此方法需要充分瞭解 MSBuild,而且只有在需要時才建議使用。 如需詳細資訊,請參閱 MSBuild

本節內容

Visual Studio 專案
如何使用其原生建置系統 (MSBuild) 在 Visual Studio 中建立、設定及建置C++專案。

CMake 專案
如何在 Visual Studio 中撰寫、建置和部署 CMake 專案的程式代碼。

開啟資料夾專案
如何使用 Visual Studio,根據任何任意建置系統或完全沒有建置系統來撰寫、建置和部署C++專案。

發行組建
如何建立優化發行組建並將其疑難解答,以部署給使用者。

從命令列使用 MSVC 工具組
討論如何使用 C/C++ 編譯程式,直接從命令行建置工具,而不是使用 Visual Studio IDE。

在 Visual Studio 中建置 DLL
如何在 Visual Studio 中建立、偵錯及部署 C/C++ DLL(共用連結庫)。

逐步解說:建立和使用靜態庫
如何建立 .lib 二進位檔。

建置 C/C++ 隔離應用程式和並存組件
描述 Windows 桌面應用程式的部署模型,其基於隔離應用程式及並存組件的想法。

設定適用於 64 位元、x64 目標的 C++ 專案
如何使用 MSVC 建置工具,以 64 位 x64 硬體為目標。

針對 ARM 處理器設定 C++ 專案
如何使用 MSVC 建置工具來以 ARM 硬體為目標。

最佳化程式碼
如何以各種方式優化程序代碼,包括程式引導式優化。

為 Windows XP 設定程式
如何使用 MSVC 建置工具將 Windows XP 設為目標。

C/C++ 建置參考
提供參考文章連結,包含以 C++ 建置程式,和編譯器及連結器選項,以及各種建置工具的連結。