2016-06-29 7 views
9

'u ne zaman kullanmalısınız .pro dosyası içinde, başlık dosyalarını (HEADERS'u kullanın), C++ dosyalarını (SOURCES kullanın) ve Objective-C/Objective'yi kullanmanız çok basittir. -C++ dosyaları (OBJECTIVE_SOURCES kullanın), ancak diğer dosya türlerinin nasıl dahil edilmesi gerektiği bana açık değildir.Qt'de, RESOURCES vs. DISTFILES ve OTHER_FILES

örn. Qt'nin sağladığı çeşitli örneklere bakıldığında, QML dosyalarının DISTFILES, OTHER_FILES olması veya bir .qrc dosyasında bulunması (yani RESOURCES) konusunda bir tutarsızlık vardır. QML dosyalarını bir qml.qrc dosyasına koyarak ile gittim. ama bu aşağı tarama derleme yavaşladı, ben bir .qrc dosya içinde, bu tür ses .wav dosyaları gibi veri dosyaları dahil olduğum için Sorum ortaya çıkmıştır

(örn Qt Quick Demo - Maroon in Trouble da Qt örneklerde gösterildiği gibi). Ve Windows'da MinGW durumunda, 1GB'a ulaştığında bellek yetersiz hatasıyla çöküyor. Bunları dahil etmenin daha iyi bir yolu olmalı!

Kullanmak zaman konusunda bir rehber verebilir misiniz:

  • DISTFILES
  • OTHER_FILES
  • RESOURCES

cevap

9

qmake manual alıntı:

KAYNAKLARI

hedef için kaynak toplama dosyaları (QRC) adını belirtir. [...]

distfiles

dosyaların bir listesini belirtir dist hedefin dahil edilecek. Bu özellik sadece UnixMake özellikleriyle desteklenmektedir. [...] Bu belgelenmemiş aslında görünüyor

OTHER_FILES

, en azından ben bir şey bulamadık. Burada listelenen tüm dosyaların yalnızca proje gezgini (örneğin, Qt Creator) ile bağlantılı olduğunu söyleyebilirim ve hiçbir şekilde qmake tarafından ele alınmaz. senin Örneğin onlar compiled into the binary çünkü, herhangi bir kaynak dosyasına eklenmesini oldukları gibi dosyaları nakliye düşünün ve olmayabilir gelince


.

Ayrıca QT kaynak sisteminin sadeliğini korumak için büyük dosyalarınız için compiling external resources and using them'a da bakabilirsiniz.

+0

Sadece DISTFILES için DIST_FILES düzenlenmiş - düzeltme için teşekkürler –

+0

@PaulMasri Tüm sorularınız cevaplandı, ya da başka bir istek? Rica ederim. – maxik

+0

"Dosyaları oldukları gibi göndermeyi düşünebilirsiniz" ile ne demek istediğinizi açıklayabilir misiniz? Bunları çalıştırılabilirle birlikte göndermek ya da bir şekilde bunları yürütülebilir dosyaya dahil etmek, ancak kaynak derleyicisini atlamak mı demek istiyorsunuz? –

2
  • DISTFILES: İçinde kullanmaz unix için özel bir şey çoğu durumda. Dokümanlar:

dist hedefin dahil edilecek dosyaların bir listesini belirtir. Bu özelliği, yalnızca UnixMake özellikleriyle desteklenir.

  • OTHER_FILES: ancak "inşa" nin, size bir parçası olan proje Dosyalar. olabilir Bu Benioku'da gibi ipuçlarını inşa düşünür, ya da başka kategorilerde
  • RESOURCES sığmayan herhangi diğer şeyler,: .qrc -dosyalar, uygulamaya derlenmiş olacaktır. QML ile bu üç kullanımının İlişkin

:
Sen ikonların diğer dosyalar için DISTFILES veya OTHER_FILES kullanabilirsiniz. QtCreator'da diğer dosyalar gibi bir düğümde görünür. Bu ikisi çoğu geliştirici için değiştirilebilir. Qt örnekleri yerel bir projedir, bu nedenle ya kaynak gerektirmez ya da her ikisine de sahip olurlar, yani QML dosyalarını örneğin OTHER_FILES ve RESOURCES olarak bulabilirsiniz.

QML dosyaları için, ikili dosyanızın içinde olduğundan emin olmak için her zaman RESOURCES kullanın.

İlgili konular