今天上的这盘菜是 Qt + CMake 的组合坑:
使用 qt5_create_translation 可以从源文件生成/更新 .ts 翻译文件,但是你最后喂给 Qt 的文件得是 .qm 翻译文件,从 .ts 到 .qm 的转换工作是由 Qt 的 lrelease cli 程序完成的
那么在 CMake 中应该怎么处理这个转换呢,直接用 add_custom_command 显然有点不科学,经过一个多小时的搜索和尝试,你只需要把 *还不存在* 的 .qm 文件路径喂给 add_executable 就行了,是不是瞬间就科学起来了?
你说要喂给 add_executable 我都理解,毕竟你 Qt 的资源文件 .qrc 都是这么喂的,但是难道不应该喂已经存在的 .ts 文件吗??喂个不存在的 .qm 给 add_executable 然后生成出来是什么反直觉操作?还是说设计成喂 .ts 会有其他问题?
#今天踩了啥坑 #CMake #Qt
使用 qt5_create_translation 可以从源文件生成/更新 .ts 翻译文件,但是你最后喂给 Qt 的文件得是 .qm 翻译文件,从 .ts 到 .qm 的转换工作是由 Qt 的 lrelease cli 程序完成的
那么在 CMake 中应该怎么处理这个转换呢,直接用 add_custom_command 显然有点不科学,经过一个多小时的搜索和尝试,你只需要把 *还不存在* 的 .qm 文件路径喂给 add_executable 就行了,是不是瞬间就科学起来了?
你说要喂给 add_executable 我都理解,毕竟你 Qt 的资源文件 .qrc 都是这么喂的,但是难道不应该喂已经存在的 .ts 文件吗??喂个不存在的 .qm 给 add_executable 然后生成出来是什么反直觉操作?还是说设计成喂 .ts 会有其他问题?
#今天踩了啥坑 #CMake #Qt