Share via


Halaman Properti Umum (Proyek)

Artikel ini berlaku untuk proyek Visual Studio untuk Windows. Untuk proyek Linux, lihat Referensi halaman Properti Linux C++. Untuk proyek CMake, lihat Proyek CMake di Visual Studio. Untuk proyek Android, lihat Properti proyek umum (Android C++). Untuk proyek Android Makefile, lihat Properti proyek umum (Android C++ Makefile). Di Visual Studio 2019, beberapa properti untuk proyek non-UWP (Windows Runtime atau Platform Windows Universal) telah dipindahkan ke halaman properti Tingkat Lanjut.

Untuk membuka dialog Halaman Properti untuk proyek, pilih proyek (bukan solusi) di Penjelajah Solusi. Selanjutnya, pilih >menu Properti Project-name dari bilah menu. Atau, klik kanan pada simpul proyek di Penjelajah Solusi dan pilih Properti dari menu pintasan.

Dalam dialog Halaman Properti, halaman properti Umum Properti>Konfigurasi menampilkan properti proyek berdasarkan jenis proyek. Properti ini dikumpulkan di bawah satu atau dua judul, tergantung pada jenis proyek:

  • Umum

  • Default Proyek

Umum

Judul properti Umum mencakup beberapa kombinasi properti ini:

Platform Target

Menentukan platform tempat proyek berjalan. Misalnya, Windows, Android, atau iOS. Nilai Windows 10 berarti proyek menargetkan Platform Windows Universal. Jika Anda menargetkan versi Windows lainnya, versi tidak tercantum dan nilai di bidang ini hanya muncul sebagai Windows. Properti ini adalah bidang baca-saja yang diatur saat Anda membuat proyek.

Versi Platform Target

Menentukan versi Windows SDK yang digunakan untuk membangun proyek. Properti ini hanya muncul jika jenis proyek mendukungnya. Anda dapat memilih 10.0 untuk menentukan versi terbaru Windows SDK. Jika aplikasi Anda dapat memanfaatkan fitur dalam versi Windows SDK ini, tetapi masih dapat berjalan pada versi sebelumnya tanpa fitur tersebut, mungkin dengan beberapa kehilangan fungsionalitas, maka nilai properti ini dan properti Target Platform Min. Versi mungkin berbeda. Jika demikian, kode Anda harus memeriksa versi platform yang dijalankannya saat runtime dan menonaktifkan fitur yang tidak tersedia dalam versi platform yang lebih lama.

Target Platform Min. Versi

Menentukan versi terendah platform tempat proyek dapat berjalan. Properti ini hanya muncul jika jenis proyek mendukungnya. Tetapkan nilai ini jika aplikasi Anda dapat memanfaatkan fitur dalam versi Windows SDK yang lebih baru, tetapi masih berjalan pada versi sebelumnya, mungkin dengan beberapa kehilangan fungsionalitas. Jika diatur ke nilai yang lebih rendah, kode Anda harus memeriksa versi platform yang dijalankannya saat runtime. Kemudian, nonaktifkan fitur yang tidak tersedia dalam versi platform yang lebih lama.

Sistem proyek C++ tidak memberlakukan opsi ini. Ini termasuk untuk konsistensi dengan bahasa lain, seperti C# dan JavaScript, dan sebagai panduan bagi siapa pun yang menggunakan proyek Anda. Microsoft C++ tidak akan menghasilkan kesalahan jika Anda menggunakan fitur yang tidak tersedia dalam versi minimum.

Versi Windows SDK

Untuk platform target Windows, properti ini menentukan versi Windows SDK yang diperlukan proyek Anda. Saat Alat Penginstal Visual Studio menginstal Beban Kerja C++, alat ini juga menginstal bagian yang diperlukan dari Windows SDK. Jika Anda memiliki versi Windows SDK lainnya di komputer Anda, setiap versi yang diinstal akan muncul di menu dropdown.

Untuk menargetkan Windows 7 atau Windows Vista, gunakan nilai 8.1, karena Windows SDK 8.1 kompatibel mundur ke platform tersebut. Saat Anda menargetkan versi yang lebih lama, tentukan nilai yang sesuai untuk _WIN32_WINNT di targetver.h. Untuk Windows 7, itu 0x0601. Untuk informasi selengkapnya, lihat Memodifikasi WINVER dan _WIN32_WINNT.

Anda dapat menginstal toolset platform Windows XP yang disertakan sebagai komponen opsional di Visual Studio Installer untuk membangun proyek Windows XP dan Windows 2003 Server. Untuk informasi tentang cara mendapatkan dan menggunakan toolset platform ini, lihat Mengonfigurasi program untuk Windows XP. Untuk informasi selengkapnya tentang mengubah toolset platform, lihat Cara: Memodifikasi kerangka kerja target dan toolset platform.

Direktori Output

Menentukan direktori tempat alat build seperti linker menempatkan semua file output akhir yang dibuat selama proses build. Biasanya, direktori ini menyimpan output alat seperti linker, pustakawan, atau BSCMake. Secara default, properti ini adalah direktori yang ditentukan oleh kombinasi $(SolutionDir)$(Configuration)\makro .

Untuk mengakses properti ini secara terprogram, lihat OutputDirectory.

Direktori Perantara

Menentukan direktori tempat alat seperti pengkompilasi menempatkan semua file perantara yang dibuat selama proses build. Biasanya, direktori ini menyimpan output alat seperti pengkompilasi C/C++, MIDL, dan pengkompilasi sumber daya. Secara default, properti ini adalah direktori yang ditentukan oleh makro $(Configuration)\.

Untuk mengakses properti ini secara terprogram, lihat IntermediateDirectory.

Nama Target

Menentukan nama file yang dihasilkan proyek ini. Secara default, properti ini adalah nama file yang ditentukan oleh makro $(ProjectName).

Ekstensi Target

Menentukan ekstensi file yang dihasilkan proyek ini, seperti .exe atau .dll. Untuk beberapa jenis proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

Ekstensi untuk Dihapus saat Bersih

Perintah menu Build>Clean menghapus file dari direktori perantara tempat konfigurasi proyek dibuat. Sistem build menghapus file yang memiliki ekstensi yang ditentukan saat Anda menjalankan perintah Bersihkan atau saat Anda membangun kembali. Sistem build juga menghapus output build yang diketahui di mana pun lokasinya. File yang dihapus mencakup output perantara seperti .obj file. Gunakan titik koma (;) untuk memisahkan ekstensi. Anda dapat menentukan karakter kartubebas (*, ?) dalam ekstensi.

Untuk mengakses properti ini secara terprogram, lihat DeleteExtensionsOnClean. Untuk beberapa jenis proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

File Log Build

Memungkinkan Anda menentukan lokasi non-default untuk file log yang dibuat setiap kali Anda membuat proyek. Lokasi default ditentukan oleh kombinasi $(IntDir)$(MSBuildProjectName).logmakro . Untuk beberapa jenis proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

Anda dapat menggunakan makro proyek untuk mengubah lokasi direktori. Untuk informasi selengkapnya, lihat Makro umum untuk perintah dan properti build.

Toolset Platform

Menentukan toolset yang digunakan untuk membangun konfigurasi saat ini. Properti ini memungkinkan proyek untuk menargetkan versi pustaka dan pengkompilasi Visual C++ yang berbeda. Secara default, proyek Visual Studio C++ menargetkan toolset terbaru yang diinstal oleh Visual Studio. Anda dapat memilih salah satu toolset yang diinstal oleh beberapa versi Visual Studio sebelumnya sebagai gantinya. Beberapa toolset lama dapat membuat executable yang berjalan pada Windows XP atau Vista. Untuk informasi selengkapnya tentang cara mengubah toolset platform, lihat Cara: Memodifikasi kerangka kerja target dan toolset platform.

Aktifkan Build Inkremental Terkelola

Untuk proyek terkelola, properti ini memungkinkan deteksi visibilitas eksternal saat Anda membuat rakitan. Jika perubahan pada proyek terkelola tidak terlihat oleh proyek lain, proyek dependen tidak akan dibangun kembali. Opsi ini dapat secara dramatis meningkatkan waktu build dalam solusi yang mencakup proyek terkelola. Di proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

Jenis Konfigurasi

Menentukan output proyek dan alat yang diperlukan. Dalam proyek UWP, properti ini muncul di bawah judul Default Proyek. Ada beberapa jenis konfigurasi untuk dipilih, tergantung pada jenis proyek Anda:

Aplikasi (.exe)

Menampilkan toolset linker: Compiler C/C++, MIDL, Resource Compiler, Linker, BSCMake, XML Web Service Proxy Generator, build kustom, prebuild, prelink, dan postbuild events.

Pustaka Dinamis (.dll)

Menampilkan toolset linker, menentukan /DLL opsi linker, dan menambahkan _WINDLL definisi preprocessor ke baris perintah CL.

Makefile

Menampilkan set alat makefile (NMake).

Pustaka Statis (.lib)

Menampilkan kumpulan alat pustakawan. Ini sama dengan toolset linker, kecuali mengganti linker dengan pustakawan dan menghilangkan XML Web Service Proxy Generator.

Utilitas

Menampilkan toolset utilitas (MIDL, build kustom, bawaan, dan peristiwa postbuild).

Untuk mengakses properti ini secara terprogram, lihat ConfigurationType.

Standar Bahasa C++

Menentukan standar bahasa C++ mana yang akan digunakan. Default adalah /std:c++14. Tentukan /std:c++17 untuk menggunakan fitur C++17, /std:c++20 untuk menggunakan fitur C++20, dan /std:c++latest untuk menggunakan fitur C++23 yang diusulkan atau fitur eksperimental lainnya. Untuk informasi selengkapnya, lihat /std (Tentukan versi standar bahasa).

Standar Bahasa C

Menentukan standar bahasa C mana yang akan digunakan. Defaultnya adalah Legacy MSVC, yang mengimplementasikan C89, beberapa ekstensi khusus C99, dan Microsoft. Tentukan /std:c11 untuk menggunakan fitur C11, dan /std:c17 untuk menggunakan fitur C17. Untuk informasi selengkapnya, lihat /std (Tentukan versi standar bahasa)

Default Proyek

Jenis Konfigurasi

Menentukan output proyek dan alat yang diperlukan. Dalam proyek UWP, properti ini muncul di bawah judul Default Proyek. Ada beberapa jenis konfigurasi untuk dipilih, tergantung pada jenis proyek Anda:

Aplikasi (.exe)

Menampilkan toolset linker: Compiler C/C++, MIDL, Resource Compiler, Linker, BSCMake, XML Web Service Proxy Generator, build kustom, prebuild, prelink, dan postbuild events.

Pustaka Dinamis (.dll)

Menampilkan toolset linker, menentukan /DLL opsi linker, dan menambahkan _WINDLL definisi preprocessor ke baris perintah CL.

Makefile

Menampilkan set alat makefile (NMake).

Pustaka Statis (.lib)

Menampilkan kumpulan alat pustakawan. Ini sama dengan toolset linker, kecuali mengganti linker dengan pustakawan dan menghilangkan XML Web Service Proxy Generator.

Utilitas

Menampilkan toolset utilitas (MIDL, build kustom, bawaan, dan peristiwa postbuild).

Untuk mengakses properti ini secara terprogram, lihat ConfigurationType.

Penggunaan MFC

Menentukan apakah proyek MFC secara statis atau dinamis ditautkan ke DLL MFC. Proyek non-MFC pilih Gunakan Pustaka Windows Standar. Di proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

Untuk mengakses properti ini secara terprogram, lihat useOfMfc.

Tataan Karakter

Menentukan apakah _UNICODE makro atau _MBCS prapemrosesan harus diatur. Juga mempengaruhi titik entri linker, jika sesuai. Di proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

Untuk mengakses properti ini secara terprogram, lihat CharacterSet.

Dukungan Common Language Runtime

/clr Menyebabkan opsi pengkompilasi digunakan. Di proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

Untuk mengakses properti ini secara terprogram, lihat ManagedExtensions.

Versi .NET Target Framework

Dalam proyek terkelola, menentukan versi kerangka kerja .NET ke target. Di proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

Pengoptimalan Program Siapa le

/GL Menentukan opsi pengkompilasi dan /LTCG opsi pengtaut. Secara default, properti ini dinonaktifkan untuk konfigurasi Debug, dan diaktifkan untuk konfigurasi Rilis. Di proyek Visual Studio 2019, properti ini telah dipindahkan ke halaman properti Tingkat Lanjut.

Dukungan Aplikasi Bursa Windows

Menentukan apakah proyek ini mendukung aplikasi Windows Runtime (Platform Windows Universal atau UWP). Untuk informasi selengkapnya, lihat /ZW (Windows Runtime Compilation), dan dokumentasi UWP Pengembang Windows.

Windows Desktop Kompatibel

Memungkinkan output proyek Windows Runtime ini juga mendukung aplikasi desktop. Properti ini menetapkan <DesktopCompatible> nilai dalam file proyek. Properti Kompatibel Windows Desktop tersedia mulai dari Visual Studio 2019 versi 16.9.

Baca juga

Referensi halaman properti proyek C++