我有一个带有德语翻译的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/

10-14 16:13