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++ 建置程式,和編譯器及連結器選項,以及各種建置工具的連結。