一般屬性頁面 (專案)

本文適用于適用于 Windows 的 Visual Studio 專案。 針對 Linux 專案,請參閱 Linux C++ 屬性頁參考 。 如需 CMake 專案,請參閱 Visual Studio 中的 CMake 專案。 針對 Android 專案,請參閱 一般專案屬性(Android C++)。 針對 Android Makefile 專案,請參閱 一般專案屬性(Android C++ Makefile)。 在 Visual Studio 2019 中,非 UWP (Windows 執行階段 或 通用 Windows 平臺) 專案的一些屬性已移至 [ 進階] 屬性頁

若要開啟專案的 [屬性頁] 對話方塊,請選取方案總管中的專案(而非方案)。 接下來,從功能表列選取 [專案 > 專案名稱屬性 ] 功能表。 或者,以滑鼠右鍵按一下方案總管中的專案節點,然後從快捷方式功能表中選取 [屬性 ]。

在 [屬性頁] 對話方塊中,[ 組態屬性一般 ] > 屬性頁會根據專案類型顯示專案屬性。 根據專案類型,這些屬性會收集在一或兩個標題下:

  • 一般

  • 專案預設值

一般

[一般] 屬性標題包含這些屬性的一些組合:

目標平台

指定專案執行時的平臺。 例如,Windows、Android 或 iOS。 值 Windows 10 表示專案以通用 Windows 平台為目標。 如果您以其他 Windows 版本為目標,版本不會列出,而且此欄位中的值會顯示為 Windows 。 此屬性是建立專案時所設定的唯讀欄位。

目標平臺版本

指定用來建置專案的 Windows SDK 版本。 只有當專案類型支援此屬性時,才會顯示此屬性。 您可以選取 10.0 來指定最新版的 Windows SDK。 如果您的 app 可以利用此 Windows SDK 版本中的功能,但仍可在舊版上執行,但如果沒有這些功能,或許會遺失某些功能,則此屬性的值和 目標平臺最小版本 屬性可能不同。 如果是,您的程式碼應該檢查它在執行時間執行的平臺版本,並停用舊版平臺中無法使用的功能。

目標平臺最小值。 版本

指定專案可以在其上執行的平台最低版本。 只有當專案類型支援此屬性時,才會顯示此屬性。 如果您的 app 可以利用較新 Windows SDK 版本中的功能,但仍在舊版上執行,或許會遺失某些功能,請設定此值。 如果設定為較低的值,您的程式碼應該檢查它在執行時間執行的平臺版本。 然後,停用舊版平臺中無法使用的功能。

C++ 專案系統不會強制執行此選項。 隨附于與其他語言的一致性,例如 C# 和 JavaScript,以及做為任何人使用您專案的指南。 如果您使用最低版本中無法使用的功能,Microsoft C++ 將不會產生錯誤。

Windows SDK 版本

針對 Windows 目標平臺,此屬性會指定專案所需的 Windows SDK 版本。 當Visual Studio 安裝程式安裝 C++ 工作負載時,也會安裝 Windows SDK 的必要元件。 如果您的電腦上有其他 Windows SDK 版本,則每個已安裝的版本都會出現在下拉式清單中。

若要以 Windows 7 或 Windows Vista 為目標,請使用值 8.1,因為 Windows SDK 8.1 具有這些平台的回溯相容性。 當您以舊版為目標時,請在 中 targetver.h 定義 適當的值 _WIN32_WINNT 。 對於 Windows 7,這是 0x0601。 如需詳細資訊,請參閱 修改 WINVER_WIN32_WINNT

您可以安裝包含在 Visual Studio 安裝程式 中作為選用元件的 Windows XP 平臺工具組,以建置 Windows XP 和 Windows 2003 Server 專案。 如需如何取得及使用此平臺工具組的資訊,請參閱 設定 Windows XP 的程式。 如需變更平臺工具組的詳細資訊,請參閱 如何:修改目標架構和平臺工具組

輸出目錄

指定建置工具的目錄,例如連結器會將建置程式期間建立的所有最終輸出檔案放在其中。 通常,此目錄會保存連結器、圖書館員或 BSCMake 等工具的輸出。 根據預設,這個屬性是巨集群組合 $(SolutionDir)$(Configuration)\ 所指定的目錄。

若要以程式設計方式存取此屬性,請參閱 OutputDirectory

中繼目錄

指定編譯器等工具在建置程式期間建立的所有中繼檔案所在的目錄。 一般而言,此目錄會保存 C/C++ 編譯器、MIDL 和資源編譯器等工具的輸出。 根據預設,這個屬性是宏 $(Configuration)\ 所指定的目錄。

若要以程式設計方式存取此屬性,請參閱 IntermediateDirectory

目標名稱

指定此專案會產生的檔案名稱。 根據預設,這個屬性是宏 $(ProjectName) 所指定的檔案名。

目標副檔名

指定這個專案產生的副檔名,例如 .exe.dll 。 對於某些 Visual Studio 2019 專案類型,此屬性已移至 [ 進階] 屬性頁

清除時要刪除的副檔名

[ > 置清除 ] 功能表命令會從建置專案組態的中繼目錄中刪除檔案。 建置系統會在您執行 Clean 命令或重建時,刪除具有指定副檔名的 檔案。 不論建置系統位於何處,建置系統也會刪除組建的任何已知輸出。 已刪除的檔案包含任何中繼輸出,例如 .obj 檔案。 使用分號 ( ; ) 分隔延伸模組。 您可以在延伸模組中指定萬用字元 ( *? ) 。

若要以程式設計方式存取此屬性,請參閱 DeleteExtensionsOnClean。 對於某些 Visual Studio 2019 專案類型,此屬性已移至 [ 進階] 屬性頁

建置記錄檔

可讓您指定每當建置專案時所建立之記錄檔的非預設位置。 預設位置是由巨集群組合 $(IntDir)$(MSBuildProjectName).log 所指定。 對於某些 Visual Studio 2019 專案類型,此屬性已移至 [ 進階] 屬性頁

若要變更目錄位置,您可以使用專案巨集。 如需詳細資訊,請參閱 建置命令和屬性 的通用宏。

平台工具組

指定用於建置目前組態的工具組。 此屬性可讓專案以不同版本的 Visual C++ 程式庫和編譯器為目標。 根據預設,Visual Studio C++ 專案會以 Visual Studio 所安裝的最新工具組為目標。 您可以改為選擇數個舊版 Visual Studio 所安裝的其中一個工具組。 某些較舊的工具組可以建立在 Windows XP 或 Vista 上執行的可執行檔。 如需如何變更平臺工具組的詳細資訊,請參閱 如何:修改目標架構和平臺工具組

啟用受控累加建置

針對 Managed 專案,此屬性可讓您在產生元件時偵測外部可見度。 如果其他專案看不到受控專案的變更,則相依專案不會重建。 此選項可大幅改善包含受管理專案之解決方案的建置時間。 在 Visual Studio 2019 專案中,此屬性已移至 [ 進階] 屬性頁

組態類型

指定專案輸出及其必要工具。 在 UWP 專案中,此屬性會出現在 [專案預設值 ] 標題底下。 根據專案類型而定,有數種組態類型可供選擇:

應用程式 (.exe)

顯示連結器工具組:C/C++ 編譯器、MIDL、資源編譯器、連結器、BSCMake、XML Web 服務 Proxy 產生器、自訂建置、預先建置、預先連結和後置事件。

動態程式庫 (.dll)

顯示連結器工具組、指定 /DLL 連結器選項,並將預處理器定義新增 _WINDLL 至 CL 命令列。

Makefile

顯示 makefile 工具組 (NMake)。

靜態程式庫 (.lib)

顯示圖書管理員工具組。 它與連結器工具組相同,不同之處在于它會將連結器取代為 librarian,並省略 XML Web 服務 Proxy 產生器。

Utility

顯示公用程式工具組 (MIDL、自訂建置、預建和建置後事件)。

若要以程式設計方式存取此屬性,請參閱 ConfigurationType

C + + 語言標準

指定要使用的 C++ 語言標準。 預設值為 /std:c++14。 指定 /std:c++17 使用 C++17 功能、 /std:c++20 使用 C++20 功能,以及 /std:c++latest 使用建議的 C++23 功能或其他實驗性功能。 如需詳細資訊,請參閱 /std (指定語言標準版本)。

C 語言標準

指定要使用的 C 語言標準。 預設值為舊版 MSVC,其會實作 C89、部分 C99 和 Microsoft 特定的擴充功能。 指定 /std:c11 使用 C11 功能,並使用 /std:c17 C17 功能。 如需詳細資訊,請參閱 /std (指定語言標準版本)

專案預設值

組態類型

指定專案輸出及其必要工具。 在 UWP 專案中,此屬性會出現在 [專案預設值 ] 標題底下。 根據專案類型而定,有數種組態類型可供選擇:

應用程式 (.exe)

顯示連結器工具組:C/C++ 編譯器、MIDL、資源編譯器、連結器、BSCMake、XML Web 服務 Proxy 產生器、自訂建置、預先建置、預先連結和後置事件。

動態程式庫 (.dll)

顯示連結器工具組、指定 /DLL 連結器選項,並將預處理器定義新增 _WINDLL 至 CL 命令列。

Makefile

顯示 makefile 工具組 (NMake)。

靜態程式庫 (.lib)

顯示圖書管理員工具組。 它與連結器工具組相同,不同之處在于它會將連結器取代為 librarian,並省略 XML Web 服務 Proxy 產生器。

Utility

顯示公用程式工具組 (MIDL、自訂建置、預建和建置後事件)。

若要以程式設計方式存取此屬性,請參閱 ConfigurationType

MFC 用途

指定 MFC 專案以靜態方式或動態連結至 MFC DLL。 非 MFC 專案選取 [ 使用標準 Windows 程式庫 ]。 在 Visual Studio 2019 專案中,此屬性已移至 [ 進階] 屬性頁

若要以程式設計方式存取此屬性,請參閱 useOfMfc

字元集

指定是否 _UNICODE 應該設定 或 _MBCS 預處理器宏。 也會在適當情況下影響連結器進入點。 在 Visual Studio 2019 專案中,此屬性已移至 [ 進階] 屬性頁

若要以程式設計方式存取此屬性,請參閱 CharacterSet

Common Language Runtime 支援

導致使用編譯 /clr 程式選項。 在 Visual Studio 2019 專案中,此屬性已移至 [ 進階] 屬性頁

若要以程式設計方式存取此屬性,請參閱 ManagedExtensions

目標 .NET Framework 版本

在受控專案中,指定目標 .NET Framework 版本。 在 Visual Studio 2019 專案中,此屬性已移至 [ 進階] 屬性頁

整個程式最佳化

指定 /GL 編譯器選項和 /LTCG 連結器選項。 根據預設,針對偵錯組態停用此屬性,並針對發行組態啟用。 在 Visual Studio 2019 專案中,此屬性已移至 [ 進階] 屬性頁

Windows 市集應用程式支援

指定此專案是否支援 Windows 執行階段 (通用 Windows 平臺 或 UWP) 應用程式。 如需詳細資訊,請參閱 /ZW (Windows 執行階段編譯) 和 Windows 開發人員 UWP 檔

Windows 桌面相容

啟用此Windows 執行階段專案的輸出,也支援傳統型應用程式。 這個屬性會 <DesktopCompatible> 設定專案檔中的值。 從 Visual Studio 2019 16.9 版開始,即可使用 Windows Desktop Compatible 屬性。

另請參閱

C++ 專案屬性頁參考