Yazılım Güncellemesi Xmake V2.2.2 yayınlandı, böylece C/C ++ otomatik olarak oluşturulmaya paket bağımlılığına sahip

Açık Kaynak Çin OSC başlığında dikkat edin, en son teknik bilgileri alın

Dört aydan fazla bir süre sonra, Xmake sonunda v2.2.2'nin yeni sürümünü güncelledi ve ağır siklet işlevini başlattı: yerel desteğin uzaktan bağımlılık paketi yönetimi.

Ve bu özellik, aslında, birbiri ardına yaklaşık bir yıl boyunca yazdım ve başlangıçta tamamlandı. Bu özelliğin geliştirilmesi ve tarihi için ilgili öğrenciler ilgili sorunları görebilirler:#69.

  • Proje Kaynak Kodu
  • Resmi Belgeler

Mevcut uygulama etkisi aşağıdaki gibidir. Tamamen tutarlı semantik sürüm bağımlılık açıklaması:

Tamamen tutarlı çapraz platform inşaat davranışı, bir ilave XMake derlemesi:

Komple Proje Açıklaması:

add_requires ("tbox 1.6.*", "libpng ~ 1.16", "zlib") Hedef ("Test") set_kind ("ikili") add_files ("src/*. c") add_packages ("tbox", "libpng", "zlib")

Bu işlevin arka planını kısaca tanıtayım:

C/C ++ programını yazdığımızda, üçüncü taraf bağımlılıklarının kullanımı her zaman zor bir sorun olmuştur, çünkü her bağımlılık kütüphanesinin inşaat sistemindeki farklılıklar ve kod platformunun desteğindeki fark. Kolay için uygundur. -Paket yönetimi desteğini kullanmak.

Bu sorunu çözmek için şimdi Homebrew, VCPKG gibi ambalaj araçları olmasına rağmen, ::::

  • Homebrew, iPhoneos, Android, Windows Platformunu desteklemiyor
  • VCPKG, anlamsal sürüm seçimini desteklemiyor, çok yönlü yönetim yönetimi
  • Ayrıca, proje yönetimini ve inşaatını desteklemez
  • Mevcut mevcut çapraz platform inşaat araçları için, paket yönetim desteğinde oluşturulmuş üretilmez. Örneğin, CMake yalnızca sistem paketlerini bulmak için find_package sağlar. `` Bunun uygun olduğunu düşünüyorum. Bu, projenin diğer kullanıcılarının derlenirken ek VCPKG veya bağımlılık kütüphaneleri yüklemesini gerektirmesini sağlayacaktır. PC platformu için daha fazlasını elde etmek iyidir. İPhoneos, Android ve diğer platformların bağımlılık kütüphanesi için kullanıcılar atarlar. Kullanıcı. Bir süre.

    Ve Xmake kavramı: Gerçek tutarlı bakım, gerçek olan derleme

    • Bina davranışının tutarlılığı: Projenizin kütüphane bağımlılığı ve araç bağımlılığı olup olmadığına bakılmaksızın, yalnızca derlemek ve geçmek için bir Xmake komutu yürütmeniz gerekir.
    • Proje Bakımının Tutarlılığı: Projeniz Windows'ta veya Linux, iPhone, Android için kullanılmış olsun, yalnızca bir Xmake.lua Bakım Projesi'ne ihtiyacınız var.

    CMake ayrıca ek üçüncü taraf IDE proje dosyaları oluşturmalıdır. CMAKELIST.TXT aynı olsa bile, kullanıcıların kullanıcılar için tamamen tutarlı olmasını sağlaması imkansızdır. Sonuçta, VC/Make gibi araçlarla sınırlıdır. .

    Mevcut destek

    • Anlamsal sürüm desteği, örneğin: " > = 1.1.0 < 1.2 "," ~ 1.6 "," 1.2.x "," 1.*"
    • Resmi sözleşme depolarından, kendi kendini inşa eden özel depolardan destek sağlayın, projeler gibi depolarda inşa edilmiş
    • Çapraz platform çantası derleme ve entegrasyon desteği (farklı platformların ve farklı mimarilerin paketleri aynı anda kurulabilir, hızlı bir şekilde kullanılabilir)
    • Hata Ayıklama Bağımlılık Paketi Desteği, Kaynak Kodu Hata Ayıklama

    Bağımlı paket işleme mekanizması

    Burada tüm bağımlı paketin işleme mekanizmasını kısaca tanıtıyoruz:

  • Mevcut sistem dizini ve üçüncü taraf paketlerinin yönetimi altında belirlenmiş paketler olup olmadığını tercih edin. Eşleşen bir paket varsa, indirip yüklemeye gerek yoktur (elbette, sistemi kullanmadan da ayarlayabilirsiniz. paket)
  • Paketin eşleşen sürümünü almak ve ardından indirmek, derlemek ve yüklemek (Not: Belirli bir Xmake Dizini'ne yüklenmiş, sistem kütüphanesi ortamına müdahale etmez)
  • Projeyi derleyin, nihayet bağımlılık paketini otomatik olarak bağlayın
  • Yeni karakteristik

    • FASM montajcı desteği eklendi
    • Seçeneği ve yapılandırma değerini hızlı bir şekilde yargılamak için Has_Config, Get_Config ve IS_CONFIG arayüzünü ekle
    • Varsayılan yapılandırmayı ayarlamak için set_config arabirimini ekleyin
    • Bir proje oluşturmaya çalışmak için $ xmake ekleyin
    • Hedefi devre dışı bırakmak için set_enabled (false) ekleyin
    • #69: Uzaktan Bağımlılıklar Yönetimi Ekle, Add_Requires ("Tbox ~ 1.6.1")
    • #216: Windows MFC derleme kurallarını ekleyin

    Geliştirmek

    • QT derlemesini geliştirin ve çevre tespitini derleyin, Mingw SDK desteğini artırın
    • Otomatik tarama ile otomatik olarak taranan Xmake.lua'ya varsayılan hata ayıklama/sürüm kurallarını ekleyin
    • #178: Mingw platformunun altındaki hedef adını değiştirin
    • Vaka odaklı yol modu eşleştirmeyi desteklemek için add_files () için
    • Detect.sdks.find_qt'ın QT kök dizinini algılamasını geliştirin
    • #184: Lib.Detect.find_Package Desteği VCPKG'yi geliştirin
    • #208: RPath'in dinamik kütüphanelere desteğini geliştirin

    Böcek Onarımı

    • #177: Bağımlı dinamik kütüphane hedefini düzeltin.
    • $ XMake F -Menu'daki çıkış sorununu ve çok yüksek CPU sorununu düzeltin
    • #197: Bir Çin Yolu Köprü Problemi ile Oluşturulan VS201X Proje Dosyasını Düzeltin
    • Win7 altında mavi ekran problemini çalıştırmak için WDK kuralları tarafından derlenen sürücüyü düzeltin
    • #205: VCPROJ Projesini TargetDir, ObjectDir Yolu Ayarları Üretecek Sorunlar Olmadan Düzeltin

    odaklan Açık Kaynak Çin OSC Toutiao, Günlük Açık Kaynak Yazılım hakkında en son güncelleme bilgilerini alın, Xmake v2.2.2 Daha ayrıntılı açıklama, lütfen tıklayın " Daha fazlasını anlayın "Kontrol.

    Partnerinizi anladığınızı bilerek, Dongfeng Citroen Yunyi "yapması gerektiğini söylediği şeyi" nasıl başarır?
    önceki
    Büyük veriler ortaya çıktı: anlaşılması gereken bu gizli "değer depresyonları"
    Sonraki
    Zhongtiao Technology, seyahat aracı varlıklarının korunmasında yeni bir bölüm açmak için SAIC Xiangdao Travel ile el ele verdi
    46 yaşındaki özel sermaye fonlarının genel müdürü yılbaşı günü vefat etti ve menkul kıymet fonlarının yatırım getirisi -% 65 oldu
    Verinin sırları: En iyi yatırım yıldızı olmak ister misiniz? Hangi üniversitenin mezun olma şansı en yüksek? (Ekli: Çin'den mezun 1009 yatırımcının sıralama listesi)
    Harbin, Jingjiang West Road'un zemin kilidine özel araba çizildi.
    Mi Gaming Notebook resmi olarak piyasaya sürüldü: isteğe bağlı en yüksek standart basınç i7 + GTX 1060
    57 güne açılan parkın ziyaretçi sayısı en erken bir milyonu kırdı! Tarihin en kısa buz ve kar dünyası sona erdi!
    Yazılım ÖnerisiDerin Ressam Uyumlaştırma - İhlalsiz Görüntü Füzyonu
    İlk Hubei Eyaleti Beyzbol ve Softbol Şampiyonası 300'den fazla sporcunun katılımıyla başladı
    Focus Media'nın iki hissedarı sahipliklerini azaltıyor Fang Yuan ve CITIC toplamda 10 milyar yuan'ın üzerinde getiri elde ediyor, sermaye 2017 hasat sezonuna giriyor
    Kuzeydoğu Yangko, Fener Festivali yapıyor
    Wuhan'daki bu yol yeni bir güzellik seviyesine ulaştı! Yanlışlıkla tüm arkadaş çevresini şaşırttım ...
    Neden günlük blogun önünden ve arkasından ayrıldınız? Eskisinden daha acı vericisiniz?
    To Top