0Pricing
C++ Academy · Pelajaran

Menggunakan vcpkg dan Conan untuk Dependensi

Ambil pustaka eksternal dengan vcpkg dan Conan lalu integrasikan dengan CMake

Menggunakan vcpkg dan Conan untuk Dependensi adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.

Mengapa Pengelola Paket?

Mengunduh dan membangun dependensi C++ secara manual merepotkan. Pengelola paket mengotomatiskan pengambilan, pembangunan, dan konfigurasi pustaka pihak ketiga.

Dua Pilihan Utama

Dua pengelola paket C++ terkemuka:

  • vcpkg — didukung Microsoft, hanya dari sumber, terintegrasi dengan CMake
  • Conan — sumber terbuka, mendukung biner, lebih fleksibel

Penyiapan vcpkg

Klon repositori vcpkg dan lakukan bootstrap. Tetapkan berkas rantai alat dalam pemanggilan CMake Anda.

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh
./vcpkg install fmt spdlog

Menautkan dengan vcpkg di CMake

Berikan berkas rantai alat saat mengonfigurasi CMake. Setelah itu, find_package bekerja seperti biasa.

cmake -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake

Menggunakan vcpkg.json (Mode Manifes)

Deklarasikan dependensi dalam berkas vcpkg.json. vcpkg memasangnya per proyek.

{
  "name": "my-app",
  "version-string": "0.1.0",
  "dependencies": ["fmt", "spdlog", "nlohmann-json"]
}

Penyiapan Conan

Pasang Conan dengan pip; buat conanfile.txt atau conanfile.py.

pip install conan
conan profile detect
conan install . --build=missing

Contoh conanfile.txt

Cantumkan persyaratan, penghasil, dan opsi.

[requires]
fmt/10.1.1
spdlog/1.12.0

[generators]
CMakeDeps
CMakeToolchain

Mengintegrasikan Conan dengan CMake

Conan menghasilkan berkas CMake saat Anda menjalankan install. Gunakan berkas tersebut melalui berkas rantai alat atau dengan menyertakan berkas CMake yang dihasilkan.

cmake -B build -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake

FetchContent: Alternatif Native CMake

Untuk kasus sederhana, CMake memiliki FetchContent bawaan untuk mengunduh dan menambahkan dependensi saat konfigurasi.

include(FetchContent)
FetchContent_Declare(fmt
    GIT_REPOSITORY https://github.com/fmtlib/fmt.git
    GIT_TAG 10.1.1
)
FetchContent_MakeAvailable(fmt)
target_link_libraries(myapp PRIVATE fmt::fmt)

Memilih Alat

Panduan singkat:

  • Proyek kecil → FetchContent
  • Proyek lebih besar, dependensi sederhana → vcpkg
  • Pembangunan kompleks, tembolok biner → Conan

Pembangunan yang Dapat Direproduksi

Tetapkan versi tertentu dalam manifes Anda. Berkas kunci (conan.lock) merekam versi tepat yang telah diselesaikan agar pembangunan dapat direproduksi.

Menyimpan Biner di Tembolok

Conan dan vcpkg sama-sama mendukung penyimpanan biner di tembolok—pembangunan CI menjadi jauh lebih cepat. Siapkan tembolok bersama untuk tim Anda.

Pemeriksaan Singkat

Mekanisme CMake mana yang mengunduh dan membangun dependensi saat konfigurasi tanpa memerlukan alat eksternal?

Ringkasan

vcpkg dan Conan mengotomatiskan pengelolaan dependensi C++. FetchContent milik CMake merupakan alternatif ringan. Tetapkan versi, simpan biner di tembolok, dan gunakan find_package di CMake untuk menggunakan pustaka yang telah dipasang.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menggunakan vcpkg dan Conan untuk Dependensi” gratis?

Ya — teks lengkap “Menggunakan vcpkg dan Conan untuk Dependensi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menggunakan vcpkg dan Conan untuk Dependensi”?

Ambil pustaka eksternal dengan vcpkg dan Conan lalu integrasikan dengan CMake Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C++ Academy?

Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menggunakan vcpkg dan Conan untuk Dependensi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?

Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Tata Letak Proyek CMake dan CMakeLists.txt
  2. Target, Penautan, dan Visibilitas PUBLIC PRIVATE
  3. Menggunakan vcpkg dan Conan untuk Dependensi
  4. Membuat File IDE dan Build Lintas Platform
← Kembali ke C++ Academy