2016-03-25 38 views
1

Qt5 kitaplıklarını kullanan bir uygulama var. Uygulamamı Qt 5.6.1'e karşı derledim, ancak tüm kullanıcılarım en son Qt5 kitaplıklarına güncellemediler, aslında bir kullanıcı hala Qt 5.4.0Qt kitaplıklarının ne kadar yakın olması gerekir (COMPILE vs RUNTIME)

Qt'de tanımlı bir yöntem kullanıyorum. 5.5 - yine de uygulama Qt 5.4.0 kullanan kullanıcıyla çalışıyor (Qt 5.5.0'da tanıtılan yöntemle işlevi çalıştırmadığını varsayıyorum)

Qt kütüphanesine karşı COMPILED ne kadar yakın RUNTIME Qt kitaplığını eşleştir RUNTIME sürümü> = COMPILETIME sürümü olmalı mı? Veya kullanacağım yöntemlerle RUNTIME version> = sürüm mü?

cevap

0

Bu kısa raporu okuyun article uyumluluğu hakkında.

linux üzerinde ldd qtapp | grep -i qt Sahne Ben İleride Qt sürümünü güncellemek eğer, Qt 5.4 den Qt 5.5 söylemek anlıyoruz Buradan bana bu çıktıyı

libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f3003cc3000) 
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f300419a000) 
libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f30046e3000) 

verir, daha sonra herhangi bir sorun olmamalıdır. Genel olarak güvenlidir.

Ancak, ne yapıyorsunuz potansiyel olarak tehlikeli ve sorunludur. Ben zehirli bir yılanla oynayıp, henüz beni ısırmadığını söylerdim. Er ya da geç olacak.

5.5'te sunulan yöntemleri kullanarak ve kullanıcılarınızın 5.4'ü kullanmasına izin vermek doğru olan şey değildir.

İstemcileriniz 5.4 kullanıyorsa, 5.4 sürümünü de kullanmanızı kesinlikle öneririz. 5.6 sürümüne yükseltme yaparlarsa, kodunuz hala çalışır, çökmeler oluşmaz. Eğer sürüm 5.6'ya kötü bir şekilde ihtiyaç duyarsanız, uygulama ile 5.6 dll'lik gemiyi göndermenizi öneririm ve kullanıcılara önemli bir yükseltme olduğunu söylerim.