2010-12-06 15 views
6

otomatik olarak QMake ile Translation_de.qm derlenmiş olan bir Alman çeviri ile QT projesi, Translation_de.ts vardır:Qmake için otomatik oluşturulan kaynak dosyaları nasıl belirlenir?

oluşturulan Translation_de.qm sonra bir kaynak olarak nihai uygulama derlendi
TRANSLATIONS += Translation_de.ts 
... 
QMAKE_EXTRA_COMPILERS += lrelease 
lrelease.input   = TRANSLATIONS 
lrelease.output  = ${QMAKE_FILE_BASE}.qm 
lrelease.commands  = $$[QT_INSTALL_BINS]/lrelease ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_BASE}.qm 
lrelease.CONFIG  += no_link target_predeps 

:

RESOURCES += Resources.qrc 

nerede Resources.qrc şuna benzer:

<RCC> 
    <qresource> 
    ... 
    <file>Translation_de.qm</file> 
    </qresource> 
</RCC> 

A Yanlış Burada ne işim

RCC: Error in 'Resources.qrc': Cannot find file 'Translation_de.qm' 

: Bunun ll taze ödeme üzerinde QMake çok ilk çağrı aşağıdaki can sıkıcı uyarı atıyor dışında çalışıyor? Translation_de.qm gibi otomatik olarak oluşturulmuş bir kaynak dosyasını doğru şekilde nasıl belirleyebilirim?

cevap

6

Oluşturulan dosyaları qmake fazında örn. system(lrelease...). Diğer kuralları yerinde bırakın, böylece giriş dosyaları değiştirildiğinde qmake'yi yeniden çalıştırmanız gerekmez.

2

Ben ne istediğini ben 'normal' derleme aşamaları verilir önce gelecek şekilde çalıştırmaktadır target_predeps bildiği gibi lrelease.CONFIG Bildiğim kadarıyla

için sadece "ignore_no_exist" olduğunu düşünüyorum . Yani eğer gerçekten sadece uyarıdan kurtulmak istiyorsa, sadece yukarıda verilen bayrağı ekleyin. Qmake çağrınız, qmake çağrısı tarafından yaratılan makefile işlemini yürüttükten sonra çalışmalıdır. senin qm dosyaları eklemek için deneyin oluşturulan değilseniz

:

PRE_TARGETDEPS += compiler_lrelease_make_all 

Kontrol dışarı size yardımcı olabilecek fazla seçenek için bu link.

+0

'qmake, bulamadığı dosyalara bağımlılık üretmeyecektir. Ortaya çıkan Makefile paralel bina başarısız olacaktır. –

İlgili konular