我有一个带有德语翻译的Qt项目Translation_de.ts
,它通过Qmake自动编译为Translation_de.qm
:
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
然后将生成的
Translation_de.qm
作为资源编译到最终应用程序中:RESOURCES += Resources.qrc
Resources.qrc
看起来像这样:<RCC>
<qresource>
...
<file>Translation_de.qm</file>
</qresource>
</RCC>
所有这些工作都很好,只是在新的结帐时第一次调用Qmake会引发以下令人讨厌的警告:
RCC: Error in 'Resources.qrc': Cannot find file 'Translation_de.qm'
我在这里做错了什么?如何正确指定自动生成的资源文件(如
Translation_de.qm
)? 最佳答案
使用以下命令在qmake阶段创建生成的文件: system(lrelease...)
。将其他规则也留在原处,这样在更改输入文件时不必重新运行qmake。
关于qt - 如何将自动生成的资源文件指定给Qmake?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4366898/