将构建目录中的文件添加到 qrc 文件

Add file from build dir to qrc file

我正像 here 一样为我的申请准备翻译。我遇到的问题是 .qm 文件是在构建目录中生成的(这很好)但是资源编译器在编译 qrc 文件时找不到那里。

我想要实现的是拥有 qrc 文件,其中的条目引用构建目录中的 qm 文件。

我可以给你一个可行的程序,但也许这不是你想要的。

我们的资源分支有一个名为 'translations' 的子目录。这个子目录包含我们支持的语言的所有 ts 文件。这些 ts 文件受 svn 控制。我们的 pro 文件包含指令(仅显示一种语言)

TRANSLATIONS+=  $$PWD/resources/translations/safepackager_nl.ts
!exists( $$PWD/resources/translations/safepackager_nl.ts ): warning( "not existing safepackager_nl.ts" )
!exists( $$PWD/resources/translations/safepackager_nl.qm ): warning( "run lrelease: not existing safepackager_nl.qm" ) 

每次源代码中的字符串发生变化时,我们都会使用 Qt Linguist 来翻译新添加或编辑的字符串。接下来我们从 Qt Creator 中 运行 lupdate 然后从 Qt Creator 中 运行 lrelease。 lupdate generates/updates ts 文件和 lrelease generates/updates qm 文件。 qm 文件 - 与 ts 文件位于同一位置 - 不受 svn 控制。构建器在构建期间找到 qm 文件。

教训是 - 我猜 - 当 ts 文件和 qm 文件在同一个目录中时构建将成功而无需设置额外的路径。