Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tutorial ini menunjukkan kepada Anda cara membuat program C++ "Halo Dunia" yang menggunakan fmt pustaka dengan CMake, vcpkg, dan Visual Studio. Anda akan menginstal dependensi, mengonfigurasi, membangun, dan menjalankan aplikasi sederhana.
Prasyarat
- Visual Studio dengan beban kerja pengembangan C++ dan komponen CMake
- Git
1 - Menyiapkan vcpkg
Mengkloning repositori tersebut
Langkah pertama adalah mengkloning repositori vcpkg dari GitHub. Repositori berisi skrip untuk memperoleh vcpkg yang dapat dieksekusi dan registri pustaka sumber terbuka yang dikumpulkan yang dikelola oleh komunitas vcpkg. Untuk melakukan ini, jalankan:
git clone https://github.com/microsoft/vcpkg.gitRegistri terkurasi vcpkg adalah kumpulan lebih dari 2.000 pustaka open-source. Pustaka ini telah divalidasi oleh alur integrasi berkelanjutan vcpkg untuk bekerja sama. Meskipun repositori vcpkg tidak berisi kode sumber untuk pustaka ini, repositori ini menyimpan resep dan metadata untuk membangun dan menginstalnya di sistem Anda.
Jalankan skrip bootstrap
Sekarang setelah Anda mengkloning repositori vcpkg, navigasikan ke
vcpkgdirektori dan jalankan skrip bootstrap:cd vcpkg && bootstrap-vcpkg.batcd vcpkg; .\bootstrap-vcpkg.batcd vcpkg && ./bootstrap-vcpkg.shSkrip pemasangan awal melakukan pemeriksaan prasyarat dan mengunduh berkas vcpkg yang dapat dieksekusi.
Itu saja! vcpkg disiapkan dan siap digunakan.
2 - Menyiapkan proyek Visual Studio
Buat proyek Visual Studio
- Membuat proyek baru di Visual Studio menggunakan templat "Proyek CMake"
Cuplikan layar UI Visual Studio untuk memperlihatkan cara membuat proyek CMake baru di Visual Studio
- Beri nama proyek Anda "helloworld"
- Centang kotak untuk "Tempatkan solusi dan proyek di direktori yang sama."
- Klik tombol "Buat"
Cuplikan layar Visual Studio UI untuk memberi nama proyek CMake Anda dan mengklik tombol "buat".
Konfigurasikan
VCPKG_ROOTvariabel lingkungan.Nota
Mengatur variabel lingkungan dengan cara ini hanya memengaruhi sesi terminal saat ini. Untuk membuat perubahan ini permanen di semua sesi, atur melalui panel Variabel Lingkungan Sistem Windows.
Buka jendela Developer PowerShell bawaan di Visual Studio.
Cuplikan layar Visual Studio UI untuk jendela pengembang PowerShell bawaan
Jalankan perintah berikut:
$env:VCPKG_ROOT="C:\path\to\vcpkg" $env:PATH="$env:VCPKG_ROOT;$env:PATH"
Cuplikan layar Visual Studio UI untuk jendela pengembang PowerShell bawaan memperlihatkan cara menyiapkan VCPKG_ROOT dan menambahkannya ke PATH.
Buka perintah Pengembang di Visual Studio.
Cuplikan layar UI Visual Studio untuk Command Prompt Pengembang.
Jalankan perintah berikut:
set "VCPKG_ROOT=C:\path\to\vcpkg" set PATH=%VCPKG_ROOT%;%PATH%
Cuplikan layar perintah pengembang Visual Studio memperlihatkan cara menyiapkan VCPKG_ROOT dan menambahkannya ke PATH.
Pengaturan
VCPKG_ROOTmembantu Visual Studio menemukan instans vcpkg Anda. Menambahkannya untukPATHmemastikan Anda dapat menjalankan perintah vcpkg langsung dari shell.Buat file manifes dan tambahkan dependensi.
Jalankan perintah berikut untuk membuat file manifes vcpkg (
vcpkg.json):vcpkg new --applicationvcpkg newPerintah menambahkanvcpkg.jsonfile danvcpkg-configuration.jsonfile di direktori proyek.Tambahkan paket
fmtsebagai dependensi.vcpkg add port fmtAnda
vcpkg.jsonsekarang seharusnya berisi:{ "dependencies": [ "fmt" ] }Ini adalah file manifes Anda. vcpkg membaca file manifes untuk mempelajari dependensi apa yang akan diinstal dan diintegrasikan dengan CMake untuk memberikan dependensi yang diperlukan oleh proyek Anda.
File yang dihasilkan
vcpkg-configuration.jsonmemperkenalkan garis besar yang menempatkan batasan versi minimum pada dependensi proyek. Memodifikasi file ini berada di luar cakupan tutorial ini. Meskipun tidak berlaku dalam tutorial ini, ini adalah praktik yang baik untuk menjagavcpkg-configuration.jsonfile di bawah kontrol sumber untuk memastikan konsistensi versi di berbagai lingkungan pengembangan.
3 - Menyiapkan file proyek
Mengubah file
helloworld.cpp.Ganti konten
helloworld.cppdengan kode berikut:#include <fmt/core.h> int main() { fmt::print("Hello World!\n"); return 0; }File sumber ini mencakup header
<fmt/core.h>, yang merupakan bagian dari pustakafmt. Fungsi inimain()memanggilfmt::print()untuk menghasilkan pesan "Halo Dunia!" ke konsol.Konfigurasikan
CMakePresets.jsonfile.CMake dapat secara otomatis menautkan pustaka yang diinstal oleh vcpkg ketika
CMAKE_TOOLCHAIN_FILEdiatur untuk menggunakan toolchain khusus vcpkg. Ini dapat dicapai menggunakan file preset CMake.Ubah
CMakePresets.jsonagar sesuai dengan konten di bawah ini:{ "version": 2, "configurePresets": [ { "name": "vcpkg", "generator": "Ninja", "binaryDir": "${sourceDir}/build", "cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" } } ] }Buat
CMakeUserPresets.jsondengan konten berikut:{ "version": 2, "configurePresets": [ { "name": "default", "inherits": "vcpkg", "environment": { "VCPKG_ROOT": "<path to vcpkg>" } } ] }File
CMakePresets.jsonberisi preset tunggal bernama "vcpkg", yang mengaturCMAKE_TOOLCHAIN_FILEvariabel. FileCMakeUserPresets.jsonmengkonfigurasi variabel lingkunganVCPKG_ROOTuntuk menunjuk ke jalur absolut yang berisi penginstalan lokal vcpkg Anda. Disarankan untuk tidak memasukkanCMakeUserPresets.jsonke dalam sistem pengendalian versi.Sunting file
CMakeLists.txt.Ganti isi file
CMakeLists.txtdengan kode berikut:cmake_minimum_required(VERSION 3.10) project(HelloWorld) find_package(fmt CONFIG REQUIRED) add_executable(HelloWorld helloworld.cpp) target_link_libraries(HelloWorld PRIVATE fmt::fmt)Sekarang, mari kita uraikan apa yang dilakukan setiap baris dalam
CMakeLists.txtfile:-
cmake_minimum_required(VERSION 3.10): Menentukan bahwa versi minimum CMake yang diperlukan untuk membangun proyek adalah 3.10. Jika versi CMake yang diinstal pada sistem Anda lebih rendah dari ini, build gagal. -
project(HelloWorld): Mengatur nama proyek ke "HelloWorld." -
find_package(fmt CONFIG REQUIRED): Mencari pustakafmtmenggunakan file konfigurasi CMake-nya. KataREQUIREDkunci memastikan bahwa kesalahan dihasilkan jika paket tidak ditemukan. -
add_executable(HelloWorld helloworld.cpp): Menambahkan target yang dapat dieksekusi bernama "HelloWorld," yang dibangun dari filehelloworld.cppsumber . -
target_link_libraries(HelloWorld PRIVATE fmt::fmt): Menentukan bahwa executableHelloWorldharus ditautkan ke pustakafmt. KataPRIVATEkunci menunjukkan bahwafmthanya diperlukan untuk membangunHelloWorlddan tidak boleh disebarluaskan ke proyek dependen lainnya.
-
4 - Membangun dan menjalankan proyek
Bangun proyek.
Buat proyek menggunakan
Build > Build Allopsi dari menu atas.Jalankan aplikasi.
Terakhir, jalankan executable:
Cuplikan layar UI Visual Studio untuk menjalankan executable.
Anda akan melihat output:
Tangkap layar keluaran program - "Halo Dunia!"
Langkah selanjutnya
Untuk mempelajari selengkapnya tentang vcpkg.json, lihat dokumentasi referensi kami: