Vcpkg Aracı

Evet arkadaşlar bir haftalık aradan sonra yeni bir yazım ile serüvenimiz devam ediyor. Haftalık C++ yazımdan önce bir süredir kullandığım bir araç hakkında sizleri de bilgilendirmek istedim. Bu yazımda Microsoft tarafından sunulan, Windows, Linux ve MacOs üzerinde C ve C++ kütüphanelerinin kullanılmasına (çeşitli konfigürasyon tiplerine (release/debug) göre derleme, Visual Studio ve benzeri araçlar ile kullanma) olanak sağlayan Vcpkg Paket Yönetim aracından kısaca sizlere bahsedeceğim. Bu yazımda bu aracı kullanarak POCO kütüphanelerini nasıl kurup kullanacağımıza bakacağız. POCO da özellikle BOOST gibi C++ dünyasında yaygın olarak kullanılan ve ihtiyaç duyacağınız bir çok kabiliyeti içerisinde barındıran bir kütüphane.
Öncelikle bu araç ve kütüphaneye kısaca bakacağız daha sonra da Windows üzerinde POCO kütüphanesini Vcpkg kullanarak nasıl kuracağımıza bakacağız.

Vcpkg:

2016 yıllarında 20 kütüphane ile başlamış daha sonra 1000 kütüphaneyi geçen bir araç haline gelmiş kendileri.
Aracın kendisi de açık kaynaklı ve GitHub adresinden ulaşabilirsiniz. Bir kaç satır sonra bu aracı ilgili adresten nasıl çekip kuracağımızdan da bahsedeceğim. Aslında aracın çıkışını düşünecek olursak. Temelde Windows üzerinde C/C++ kütüphanelerinin bulunması, bağımlılıklarının çözülmesi, kaynak kodlarının indirilmesi, derlenmesi, yüklenmesi ve nihai olarak da kullanılması meşakkatli ve zaman alıcı bir iş. Bu araç ile bu sürecin kolaylaştırılması amaçlanmış. Şimdi Vcpkg ile ilgili bir takım bilgileri sizler ile kısaca paylaşacağım:

  • Microsoft bu araç için bir takım prensipleri kendisine baz almış. Bunlar:
    • Açık kaynaklı bir araç olması
    • Kurulum gerektirmemesi
    • Kaynak kodtan tekrarlanabilir şekilde oluşturma işlemlerinin yapılması
    • Uyarlanabilir oluşturmalar
    • Toplulukların/kullanıcıların katkılarına açık olma.
  • Vcpkg kaynak kodları indirir ve mevcut derleyici (Windows için Visual Studio) ile bunları oluşturur. Kütüphaneleri indirmez,
  • İlk etapta çoklu platform desteği olmasa da daha sonraları Windows ile birlikte Linux ve MacOS destekleri de microsoft  tarafından sağlanıyor,
  • Aracı kullanmak için aşağıdaki adımları izleyebilirsiniz:
    • Windows işletim sistemi durumunda Visual Studio’yu C++ bileşenleri ile kurmalısınız,
    • Git aracını kurmalısınız,
    • Komut satırından “git clone https://github.com/Microsoft/vcpkg” komutu Vcpkg kodlarını yerele çekelim,
    • Daha sonra oluşturma için hazır olan betiği çağırabilirsiniz:
      • Windows için “bootstrap-vcpkg.bat
      • MacOs ve Linux için ise “bootstrap-vcpkg.sh
    • Oluşturma işlemi başarı ile bitti ise vcpkg.exe dosyasını (yani namı değer aracımız) görmeniz gerekir. Hepsi bu, başka bir kurulum adımına ihtiyacınız yok.
  • Mevcut kütüphaneleri “vcpkg search” komutu ile listeleyebilirsiniz,
    • Ayrıca bu komut sonuna ekleyeceğiniz anahtar kelime ile de paketleri filtreleyebilirsiniz. Ör. “vcpkg search PO” gibi,
  • İlgili kütüphaneyi indirip, oluşturmak için de “vcpkg install PAKET_ISMI” komutunu kullanabilirsiniz. Bu varsayılan “triplet” e göre oluşturma işlemini yapar, yani windows için x86-windows. Bu kapsamda Vcpkg ilgili kütüphanenin kullandığı oluşturma yöntemine göre (çoğunlukla CMAKE), ilgili kütüphaneyi oluşturur,
  • “triplet” işlemci, işletim sistemi, derleyici, dinamik/statik, release/debug vs gibi ayarları ifade eden bir terimdir. Bir çok farklı opsiyon mevcut. Bunun ile ilgili detaylı bilgi için “triplet files” sayfasına göz atabilirsiniz,
    • Özel bir “triplet” belirtmek için “–triplet <t>” opsiyonunu kullanabilirsiniz,
  • Daha önce kurmuş olduğunuz kütüphaneleri listelemek için ise “vcpkg list”  komutunu kullanabilirsiniz,
  • Oluşturmuş olduğunuz bu kütüphaneleri Visual Studio projelerinizde IDE içerisinde herhangi bir ayarlama yapmadan kullanabilirsiniz. Bunun için “vcpkg integrate install” komutunu kullanabilirsiniz,
  • Yerel makinenizde kurulmuş olan kütüphanelerin yeni sürümleri yayınlanmış olanlarını görmek için “vcpkg update“. İlgili kütüphaneleri güncellemek için ise “vcpkg upgrade” komutunu kullanabilirsiniz. Burada spesifik konfigürasyonları da belirtebilirsiniz,
  • Kurulmuş olan bir kütüphaneyi “vcpkg remove PAKET_ISMI” ile silebilirsiniz,
    • “–recurse” komutu ile bağımlı bütün kütüphaneler de kaldırılır,
  • Tam komut listesi için VCPKG Tam Komut Listesi sayfasına bir göz atabilirsiniz.

Vcpkg tek alternatif mi? Conan ve Build2 isimli iki araca daha rastladım, ayrıca linux için kullandığım apt-get yanında yum ve Mac için Homebrew gibi araçlar da mevcut imiş. Açıkçası bunları inceleyip kullanmadığım için (şimdilik) sizlere çok bilgi aktaramayacağım (Conan daha kapsamlı görünüyor:), ama sonraki zamanlarda durum değişebilir. Bu araçlara da kaynaklardaki adreslerden erişebilirsiniz.

POCO:

POCO C++ kütüphaneleri Boost gibi çoklu platforma uygun C++ uygulamaları için geliştirilmiş (ve geliştirilmeye devam eden) bir kütüphaneler topluluğudur. İçerisinde bir çok faydalı (özellikle ağ ve internet tabanlı uygulama geliştirmek için) kütüphaneyi barındırıyor. En son yayınlanan sürümü 1.9.0. Aşağıda bunları özetleyen bir figür görebilirsiniz.

Bir çok işletim sistemini desteklediği ifade ediliyor (Windows, Mac OS, Linux, Solaris, FreeBsd, HP-UX, Windows Embedded, iOS, QNX, VxWorks, Android).

Kütüphane tarafından sunulan bütün kabiliyetleri görmek için aşağıdaki bağlantıya bir göz atabilirsiniz:

https://pocoproject.org/about.html#features

Ayrıca kaynaklarda verilen dokümantasyon sayfasında da, kütüphanenin öne çıkan kabiliyetlerine ilişkin yansıları bulabilirsiniz.

Açıkçası bir süredir çeşitli sitelerde bu kütüphaneye denk geliyordum. Hem bir denemek hem de çoklu oyuncu denemeleri için ağ kabiliyetlerinden faydalanmak üzere bu kütüphaneyi kullanmaya karar verdim. Kullanmak için de açıkçası en kolay yöntem Vcpkg üzerinden oldu ve nihayetinde sizin ile paylaştığım bu yazı ortaya çıkmış oldu.

VCPKG ile POCO Kurulumu:

Evet gelelim POCO kütüphanelerini nasıl kullanacağımıza. Vcpkg altındaki Vcpkg kurulum adımlarını izledikten sonra ilgili dizine gidiniz. “vcpkg install POCO” komutunu daha sonra da “vcpkg integrate install” komutunu çağırın. Aşağıdaki satırlar ile birlikte konsolda ilgili kütüphanenin kurulumu başlayacak.

İşte hepsi bu kadar :). Yalnız ilk adım biraz vakit alabilir korkmayın 🙂

Kurulumun doğruluğunu görmek için hemen bir Visual Studio konsol uygulaması oluşturun ve aşağıdaki kodları içeren bir C++ dosyasını hazırlayın ve programı oluşturun. Her şey yolunda gitti ise nur topu gibi bir POCO uygulamanız oldu. Bir sonraki yazımda görüşmek üzere kendinize iyi bakın 🙂

Kaynaklar:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.