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).log
makro . 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk