2016-03-23 23 views
-1

Şirketimiz şu an için Qt5.6'yı kullanan 2 Qt uygulaması gönderiyor ancak bir süredir daha fazla olacak (daha yeni Qt sürümleri kullanıyor). Yani sorun, onları farklı Qt sürümleriyle birlikte nasıl çalıştıracaklarıdır? Önceden gönderilecek tüm Qt uygulamalarını yeniden inşa edemeyiz, özellikle de bol miktarda varsa. Her bir uygulama ile gerekli tüm Qt kitaplıklarını yerleştirmenin iyi bir fikir olduğunu sanmıyorum çünkü depo boyutu hızla büyüyecek. Ve bence aynı versiyonda birçok Qt diskinin tek bir yerde olması akıllıca değil. Bildiğim kadarıyla, .NET derlemeleri yükleyici ile farklı sürümlerde böyle bir sorunu çözmek, ancak Qt bana yardımcı olabilir sanmıyorum. Bu yüzden onu nasıl çözebileceğime dair herhangi bir fikir çok takdir edilecektir. TeşekkürQt kitaplıklarını Qt uygulamaları arasında paylaşma

UPD: Sistem, Windows

+0

bu. İlk önce tüm dll'leri tek bir merkezi dizinde vardı, ama iyi çalışmadı. şimdi biz her uygulama ile kendi dll paketi (disk alanı, bazı ahşap sistem dışında önemli değil) ve dll repo – Zaiborg

+0

içine gitmek değil Biz 2-5 uygulamalar vardı, bizim için çözünürlük olabilir, değil daha fazla ... Ama bizim cihazlarımız için küçük ve basit ama çok fazla kullanılmasalar dahi standartlara uygun cihazlarla birlikte gönderilmesi gereken çok sayıda uygulama uygulamasına sahibiz. Bu yüzden, her bir uygulamayı 50+ MB dll tabanı ile göndermeye gücümüz yetmez. –

+0

Demo uygulamalarını tek bir pakette/dizinde paketleyebilirsiniz. Yani hepsi aynı ikilileri kullanacaktır – Zaiborg

cevap

0

olduğunu Aslında bir cevap oldukça basittir, sen yeter ki uyumlu ikili oldukları gibi bir Qt sürümünü (ikilileri) yollayabilirsiniz. Her bir sürümde Qt, ikili uyumluluk veya uyumsuzluğu açıklar, bu nedenle, daha yeni bir sürüme geçmeniz ve yeni uygulamaları uyumlu olmayan yeni bir sürümle göndermeniz gerekiyorsa, yeni bir Qt DLL zinciri göndermek isteyebilirsiniz. Bu, farklı bir şekilde elde edilebilir. (nasıl kurduğunuza bağlı olarak değişir), örneğin, genişleteceğiniz Qt sürümüne dayanan alt dizinler ile ortak bir lib dir'iniz olabilir. (Tabii ki uygun YOLLAR daha sonra farklı uygulamaları çalıştıran seti gerekiyor):

uygulama \ uygulama \ app01 uygulaması \ app02 ... lib \ lib \ Qt5.6.1 lib \ Qt5.7.0

vb, o zaman gibi .bat için exe dosyaları sarmak için (örneğin) sahip olacaktır:

Run.bat

SET PATH = .... \ lib \ Qt5.6.1 \ app01. exe

vb ..

hepsi aynı problem vardı, yükleme planına bağlıdır ve hedefleri

+0

Yardımcı olabileceğini düşünüyorum, teşekkürler. –