未知命令:Qt cmake 项目中的 QT5_ADD_TRANSLATION

Unknown command : QT5_ADD_TRANSLATION in Qt cmake project

我正在开发 Qt 应用程序,现在我想做一些 I18N 的事情。我遇到的第一个问题是 cmake 不知道命令 QT5_ADD_TRANSLATION(我们正在使用 cmake 来构建我们的项目)。我指的是QtLinguist Manual. When I met that problem, I also read threads like Unknown CMake command "QT5_CREATE_TRANSLATION" and qt4 to qt5 migration,可惜我还是卡在这里

我的 cmake 版本是 3.16,适用于 Qt 5.15.2。如果您需要更多信息,请告诉我。

此外,如果有其他方法可以使用 cmake 在 Qt 中完成 I18N 工作,那也可以。例如,我想出了 add_custom_commandlupdate 来自 qt,但还没有成功。


add_custom_command(OUTPUT ${TRANSLATIONS}
                   DEPENDS ${SOURCES}
                   COMMAND lupdate)

命令不会执行。我还在尝试。

应该是这样的:

find_package(Qt5 COMPONENTS LinguistTools)
qt5_add_translation(OUTPUT_VAR your_translation.ts)

Qt本身提供的CMake functions/macros属于some particular module所以你需要找到那个模块才能使用它的功能cs。