Qbs 1.21 derleme araçlarının piyasaya sürülmesi ve Qt 6.3 testinin başlatılması

Qbs 1.21 derleme araçlarının sürümü duyuruldu. Bu, Qt Şirketinin, Qbs'nin geliştirilmesine devam etmekle ilgilenen topluluk tarafından hazırlanan projenin geliştirilmesinden ayrılmasından bu yana sekizinci sürüm. Qbs'yi oluşturmak için bağımlılıklar arasında Qt gereklidir, ancak Qbs'nin kendisi herhangi bir projenin montajını organize etmek için tasarlanmıştır. Qbs, proje oluşturma komut dosyalarını tanımlamak için QML dilinin basitleştirilmiş bir sürümünü kullanır; bu, harici modüllerin bağlanabileceği, JavaScript işlevlerinin kullanılabileceği ve isteğe bağlı oluşturma kurallarının oluşturulabileceği oldukça esnek oluşturma kuralları tanımlamanıza olanak tanır.

Qbs'de kullanılan betik dili, IDE'ler tarafından yapı betiklerinin oluşturulmasını ve ayrıştırılmasını otomatikleştirmek için uyarlanmıştır. Ek olarak, Qbs makefiles oluşturmaz ve make yardımcı programı gibi aracılar olmadan kendisi, derleyicilerin ve bağlayıcıların başlatılmasını kontrol ederek, tüm bağımlılıkların ayrıntılı bir grafiğine dayalı olarak oluşturma sürecini optimize eder. Projedeki yapı ve bağımlılıklarla ilgili ilk verilerin varlığı, işlemlerin birkaç iş parçacığında yürütülmesini etkili bir şekilde paralelleştirmenize olanak tanır. Çok sayıda dosya ve alt dizinden oluşan büyük projeler için, Qbs kullanarak yeniden oluşturmaların performansı make'den birkaç kat daha iyi performans gösterebilir - yeniden oluşturma neredeyse anında gerçekleşir ve geliştiricinin beklemeye zaman harcamasına neden olmaz.

Qt Company'nin 2018'de Qbs geliştirmeyi bırakmaya karar verdiğini hatırlayın. Qbs, qmake'in yerine geçmek üzere geliştirildi, ancak sonuçta uzun vadede Qt için ana yapı sistemi olarak CMake'in kullanılmasına karar verildi. Qbs'nin gelişimi artık topluluk güçleri ve ilgili geliştiriciler tarafından desteklenen bağımsız bir proje olarak devam ediyor. Qt Company altyapısı geliştirme için kullanılmaya devam ediyor.

Qbs 1.21'daki önemli yenilikler:

  • Modül sağlayıcıların (modül üreteçleri) mekanizması yeniden tasarlandı. Qt ve Boost gibi çerçeveler için artık birden fazla sağlayıcı kullanmak, yeni qbsModuleProviders özelliğini kullanarak hangi sağlayıcının çalıştırılacağını belirlemek ve farklı sağlayıcılar tarafından oluşturulan modülleri seçmek için bir öncelik belirlemek artık mümkün. Örneğin, iki sağlayıcı "Qt" ve "qbspkgconfig" belirleyebilirsiniz; bunlardan ilki kullanıcının Qt kurulumunu (bir qmake araması aracılığıyla) kullanmaya çalışacak ve böyle bir kurulum bulunamazsa ikinci sağlayıcı bunu deneyecektir. sistem tarafından sağlanan Qt'yi kullanın (pkg-config çağrısı aracılığıyla): CppApplication { Depends { name: "Qt.core" } files: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • İstenen modülün diğer sağlayıcılar tarafından oluşturulmaması durumunda pkg-config kullanarak bir modül oluşturmaya çalışan "geri dönüş" modül sağlayıcısının yerine "qbspkgconfig" sağlayıcısı eklendi. "Geri dönüş"ten farklı olarak "qbspkgconfig", pkg-config yardımcı programını çağırmak yerine ".pc" dosyalarını doğrudan okumak için yerleşik bir C++ kitaplığı kullanır; bu, çalışmayı hızlandırmaya ve çağrı sırasında mevcut olmayan paket bağımlılıkları hakkında ek bilgiler elde etmeye olanak tanır. pkg-config yardımcı programı.
  • Gelecekteki C++ standardını tanımlayan C++23 spesifikasyonu için destek eklendi.
  • GCC araç seti için Elbrus E2K mimarisi desteği eklendi.
  • Android platformu için, "--build-id" bağlayıcı bayrağının varsayılan değerini geçersiz kılmak üzere Android.ndk.buildId özelliği eklenmiştir.
  • Capnproto ve protobuf modülleri, qbspkgconfig sağlayıcısı tarafından sağlanan çalışma zamanlarını kullanma yeteneğini uygular.
  • Dosya değiştirme süreleri tahmin edilirken milisaniyelerin atlanması nedeniyle FreeBSD'deki kaynak dosyalardaki değişiklik izlemeyle ilgili sorunlar çözüldü.
  • Conan paket yöneticisini kullanan projelerde hata ayıklamayı kolaylaştırmak için ConanfileProbe.verbose özelliği eklendi.

Ek olarak, Dil Sunucusu ve JsonRpc 6.3 protokollerini destekleyen yeni bir “Qt Dil Sunucusu” modülünü uygulayan Qt 2.0 çerçevesinin alfa testinin başlangıcını not edebiliriz; yeni işlevlerin büyük bir kısmı Qt Çekirdeğe eklenmiştir. Qt Quick Dialogs modülünde QML türü olan TextDialog uygulanmıştır. Platform tarafından sağlanan iletişim kutularını kullanmak için, Qt Wayland Compositor modülüne, bileşik bir Qt Shell sunucusu ve kendi kullanıcı kabuk uzantılarınızı oluşturmaya yönelik bir API eklenmiştir. .

Qt QML modülü, QML nesne yapılarını C++'daki sınıflar halinde derlemenize olanak tanıyan qmltc (QML tipi derleyici) derleyicisinin bir uygulamasını sunar. Qt 6.3'ün ticari kullanıcıları için, yukarıda bahsedilen QML Type Compiler'a ek olarak, QML fonksiyonlarını ve ifadelerini C++ koduna derlemenizi sağlayan QML Komut Dosyası Derleyicisini içeren Qt Quick Compiler ürününün testleri başlamıştır. Qt Quick Compiler kullanımının, QML tabanlı programların performansını yerel programlara yaklaştıracağı, özellikle uzantıları derlerken, yorumlanmış sürümün kullanımına kıyasla başlatma ve yürütme süresinde yaklaşık %30 oranında bir azalma olduğu belirtiliyor. .

Kaynak: opennet.ru

Yorum ekle