Pustaka statis (C++/CX)

Pustaka statis yang digunakan dalam aplikasi Platform Windows Universal (UWP) dapat berisi kode C++ standar ISO, termasuk jenis STL, dan juga panggilan ke API Win32 yang tidak dikecualikan dari platform aplikasi Windows Runtime. Pustaka statis menggunakan komponen Windows Runtime dan dapat membuat komponen Windows Runtime dengan batasan tertentu.

Membuat pustaka statis

Petunjuk untuk membuat proyek baru bervariasi tergantung pada versi Visual Studio mana yang telah Anda instal. Untuk melihat dokumentasi untuk versi Visual Studio pilihan Anda, gunakan kontrol pemilih Versi. Kontrol tersebut dapat ditemukan di bagian atas daftar isi pada halaman ini.

Untuk membuat pustaka statis UWP di Visual Studio

  1. Pada bilah menu, pilih File>Proyek Baru>untuk membuka dialog Buat Proyek Baru.

  2. Di bagian atas dialog, atur Bahasa ke C++, atur Platform ke Windows, dan atur Jenis proyek ke UWP.

  3. Dari daftar jenis proyek yang difilter, pilih Pustaka Statis (Universal Windows - C++/CX) lalu pilih Berikutnya. Di halaman berikutnya, beri nama proyek, dan tentukan lokasi proyek jika diinginkan.

  4. Pilih tombol Buat untuk membuat proyek.

Untuk membuat pustaka statis UWP di Visual Studio 2017 atau Visual Studio 2015

  1. Dari bilah menu, pilih File>New>Project. Di bawah Visual C++>Windows Universal pilih Pustaka Statis (Universal Windows).

  2. Di Penjelajah Solusi, buka menu pintasan untuk proyek, lalu pilih Properti. Dalam kotak dialog Properti, pada halaman Properti>Konfigurasi C/C++, atur Gunakan Ekstensi Runtime Windows ke Ya (/ZW).

Saat Anda mengkompilasi pustaka statis baru, jika Anda melakukan panggilan ke API Win32 yang dikecualikan untuk aplikasi UWP, pengkompilasi akan menimbulkan kesalahan C3861, "Pengidentifikasi tidak ditemukan." Untuk mencari metode alternatif yang didukung untuk Windows Runtime, lihat Alternatif untuk WINDOWS API di aplikasi UWP.

Jika Anda menambahkan proyek pustaka statis C++ ke solusi aplikasi UWP, Anda mungkin harus memperbarui pengaturan properti proyek pustaka sehingga properti dukungan UWP diatur ke Ya. Tanpa pengaturan ini, kode membangun dan menautkan, tetapi terjadi kesalahan saat Anda mencoba memverifikasi aplikasi untuk Microsoft Store. Lib statis harus dikompilasi dengan pengaturan kompilator yang sama dengan proyek yang mengonsumsinya.

Jika Anda menggunakan pustaka statis yang membuat kelas publik ref , kelas antarmuka publik, atau kelas nilai publik, linker akan memunculkan peringatan ini:

peringatan LNK4264: pengarsipan file objek yang dikompilasi dengan /ZW ke dalam pustaka statis; perhatikan bahwa saat menulis jenis Windows Runtime tidak disarankan untuk menautkan dengan pustaka statis yang berisi metadata Windows Runtime.

Anda dapat dengan aman mengabaikan peringatan hanya jika pustaka statis tidak menghasilkan komponen Windows Runtime yang digunakan di luar pustaka itu sendiri. Jika pustaka tidak menggunakan komponen yang ditentukannya, maka linker dapat mengoptimalkan implementasi meskipun metadata publik berisi informasi jenis. Ini berarti bahwa komponen publik dalam pustaka statis akan dikompilasi tetapi tidak akan diaktifkan pada waktu proses. Untuk alasan ini, komponen Windows Runtime apa pun yang ditujukan untuk dikonsumsi oleh komponen atau aplikasi lain harus diimplementasikan dalam pustaka tautan dinamis (DLL).

Baca juga

Threading dan Marshaling