Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, CMake, vcpkg ve Visual Studio ile kitaplığını kullanan fmt bir C++ "Merhaba Dünya" programının nasıl oluşturulacağı gösterilmektedir. Bağımlılıkları yükleyecek, basit bir uygulama yapılandıracak, derleyecek ve çalıştıracaksınız.
Önkoşullar
1 - vcpkg ayarlama
Depoyu kopyalama
İlk adım, vcpkg deposunu GitHub'dan kopyalamaktır. Depo, vcpkg yürütülebilir dosyasını ve vcpkg topluluğu tarafından tutulan seçilmiş açık kaynak kitaplıklarının kayıt defterini almaya yönelik betikler içerir. Bunu yapmak için şunu çalıştırın:
git clone https://github.com/microsoft/vcpkg.gitVcpkg tarafından seçilen kayıt defteri, 2.000'den fazla açık kaynak kitaplık kümesidir. Bu kitaplıklar vcpkg'nin sürekli tümleştirme işlem hatları tarafından birlikte çalışacak şekilde doğrulanmıştır. vcpkg deposu bu kitaplıkların kaynak kodunu içermese de, bunları derlemek ve sisteminize yüklemek için tarifler ve meta veriler içerir.
Bootstrap betiğini çalıştırma
Artık vcpkg deposunu kopyaladığınıza göre dizine
vcpkggidin ve bootstrap betiğini yürütebilirsiniz:cd vcpkg && bootstrap-vcpkg.batcd vcpkg; .\bootstrap-vcpkg.batcd vcpkg && ./bootstrap-vcpkg.shBootstrap betiği önkoşul denetimleri gerçekleştirir ve vcpkg yürütülebilir dosyasını indirir.
İşte hepsi bu! vcpkg ayarlandı ve kullanıma hazır.
2 - Visual Studio projesini ayarlama
Visual Studio projesini oluşturma
- "CMake Project" şablonunu kullanarak Visual Studio'da yeni proje oluşturma
Visual Studio'da yeni bir CMake projesi oluşturmayı gösteren Visual Studio kullanıcı arabiriminin ekran görüntüsü
- Projenize "helloworld" adını verin
- "Çözümü ve projeyi aynı dizine yerleştir" kutusunu işaretleyin.
- "Oluştur" düğmesine tıklayın
CMake projenizi adlandırmak ve "oluştur" düğmesine tıklamak için Visual Studio kullanıcı arabiriminin ekran görüntüsü.
Ortam değişkenini
VCPKG_ROOTyapılandırın.Not
Ortam değişkenlerini bu şekilde ayarlamak yalnızca geçerli terminal oturumunu etkiler. Bu değişiklikleri tüm oturumlarda kalıcı hale getirmek için Bunları Windows Sistem Ortamı Değişkenleri paneli aracılığıyla ayarlayın.
Visual Studio'da yerleşik Geliştirici PowerShell penceresini açın.
Yerleşik PowerShell geliştirici penceresi için Visual Studio kullanıcı arabiriminin ekran görüntüsü
Aşağıdaki komutları çalıştırın:
$env:VCPKG_ROOT="C:\path\to\vcpkg" $env:PATH="$env:VCPKG_ROOT;$env:PATH"
VCPKG_ROOT ayarlamayı ve PATH'e eklemeyi gösteren yerleşik PowerShell geliştirici penceresi için Visual Studio kullanıcı arabiriminin ekran görüntüsü.
Visual Studio'da Geliştirici komut istemini açın.
Geliştirici komut istemi için Visual Studio kullanıcı arabiriminin ekran görüntüsü.
Aşağıdaki komutları çalıştırın:
set "VCPKG_ROOT=C:\path\to\vcpkg" set PATH=%VCPKG_ROOT%;%PATH%
VCPKG_ROOT ayarlamayı ve PATH'e eklemeyi gösteren Visual Studio geliştirici komut isteminin ekran görüntüsü.
Ayar
VCPKG_ROOT, Visual Studio'nın vcpkg örneğinizi bulmasına yardımcı olur. Bunu eklemekPATH, vcpkg komutlarını doğrudan kabuktan çalıştırabilmenizi sağlar.Bir bildirim dosyası oluşturun ve bağımlılıkları ekleyin.
Bir vcpkg bildirim dosyası (
vcpkg.json) oluşturmak için aşağıdaki komutu çalıştırın:vcpkg new --applicationkomutu projenin
vcpkg newdizinine birvcpkg.jsondosya ve birvcpkg-configuration.jsondosya ekler.fmtPaketi bağımlılık olarak ekleyin:vcpkg add port fmtArtık şu
vcpkg.jsoniçeriği içermelidir:{ "dependencies": [ "fmt" ] }Bu, bildirim dosyanızdır. vcpkg, hangi bağımlılıkların yükleneceğini öğrenmek için bildirim dosyasını okur ve projenizin gerektirdiği bağımlılıkları sağlamak için CMake ile tümleşir.
Oluşturulan
vcpkg-configuration.jsondosya, projenin bağımlılıklarına en düşük sürüm kısıtlamaları getiren bir temel sunar. Bu dosyayı değiştirmek bu öğreticinin kapsamının dışındadır. Bu öğreticide geçerli olmasa da, farklı geliştirme ortamlarında sürüm tutarlılığı sağlamak için dosyayı kaynak denetimi altında tutmakvcpkg-configuration.jsoniyi bir uygulamadır.
3 - Proje dosyalarını ayarlama
helloworld.cppdosyasını değiştirin.öğesinin içeriğini
helloworld.cppaşağıdaki kodla değiştirin:#include <fmt/core.h> int main() { fmt::print("Hello World!\n"); return 0; }Bu kaynak dosya kitaplığın
<fmt/core.h>parçasıfmtolan üst bilgiyi içerir. İşlev,main()konsola "Merhaba Dünya!" iletisinin çıkışını almak için çağırırfmt::print().CMakePresets.jsonDosyayı yapılandırın.CMake, vcpkg'nin özel araç zincirini
CMAKE_TOOLCHAIN_FILEşekilde ayarlandığında vcpkg tarafından yüklenen kitaplıkları otomatik olarak bağlayabilir. Bu, CMake ön ayarları dosyaları kullanılarak derlenebilir.Aşağıdaki içerikle eşleşecek şekilde değiştirin
CMakePresets.json:{ "version": 2, "configurePresets": [ { "name": "vcpkg", "generator": "Ninja", "binaryDir": "${sourceDir}/build", "cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" } } ] }Aşağıdaki içerikle oluşturun
CMakeUserPresets.json:{ "version": 2, "configurePresets": [ { "name": "default", "inherits": "vcpkg", "environment": { "VCPKG_ROOT": "<path to vcpkg>" } } ] }Dosya,
CMakePresets.jsondeğişkeni ayarlayanCMAKE_TOOLCHAIN_FILE"vcpkg" adlı tek bir ön ayar içerir. Dosya,CMakeUserPresets.jsonortam değişkeniniVCPKG_ROOTyerel vcpkg yüklemenizin bulunduğu mutlak yola işaret eder. Sürüm denetim sistemlerinin denetlenmemesiCMakeUserPresets.jsonönerilir.CMakeLists.txtdosyasını düzenleyin.CMakeLists.txtdosyasının içeriğini aşağıdaki kodla değiştirin: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)Şimdi dosyadaki her satırın
CMakeLists.txtne yaptığını görelim:-
cmake_minimum_required(VERSION 3.10): Projeyi oluşturmak için gereken en düşük CMake sürümünün 3.10 olduğunu belirtir. Sisteminizde yüklü olan CMake sürümü bundan düşükse derleme başarısız olur. -
project(HelloWorld): Projenin adını "HelloWorld" olarak ayarlar. -
find_package(fmt CONFIG REQUIRED): CMake yapılandırma dosyasını kullanarak kitaplığı ararfmt. anahtarREQUIREDsözcüğü, paket bulunamazsa bir hata oluşturulmasını sağlar. -
add_executable(HelloWorld helloworld.cpp): Kaynak dosyasındanhelloworld.cppoluşturulan "HelloWorld" adlı yürütülebilir bir hedef ekler. -
target_link_libraries(HelloWorld PRIVATE fmt::fmt): Yürütülebilir dosyanınHelloWorldkitaplığa karşıfmtbağlanması gerektiğini belirtir.PRIVATEanahtar sözcüğü, yalnızca derlemefmtiçin gerekli olduğunu ve diğer bağımlı projelere yayılmaması gerektiğini belirtirHelloWorld.
-
4 - Projeyi derleme ve çalıştırma
Projeyi derleyin.
Üstteki menüden
Build > Build Allseçeneğini kullanarak projeyi oluşturun.Uygulamayı çalıştırın.
Son olarak yürütülebilir dosyayı çalıştırın:
Yürütülebilir dosyayı çalıştırmak için Visual Studio kullanıcı arabiriminin ekran görüntüsü.
Çıktıyı görmeniz gerekir:
Program çıkışlarının ekran görüntüsü - "Merhaba Dünya!"
Sonraki adımlar
hakkında vcpkg.jsondaha fazla bilgi edinmek için başvuru belgelerimize bakın: