Cmake生成*.ts文件解决方案重新生成会导致*.ts内容全部丢失

1.分析原因:

cmake中使用了

qt5_create_translation(QM_FILES ${CMKE_CURRENT_SOURCE_DID} ${TsFiles})
add_executable(${TsFiles})

CMake编译QT工程,生成的工程如果进行Clean或者Rebuild,ts文件(翻译文件)的翻译信息会丢失,导致需要经常备份最新翻译文件。

尝试过的解决办法

https://bugreports.qt.io/browse/QTBUG-41736
https://bugreports.qt.io/browse/QTBUG-31860
升级cmake版本无法解决这个问题

2.最终解决办法

在camke中使用lupdate执行文件更新 ts文件

execute_process(
COMMAND ${QTDIR}/bin/lupdate ${CMAKE_CURRENT_SOURCE_DIR} -ts ${TsFiles}
RESUlT_VARIABLE LUPDATE_RESULT
)
posted @ 2024-03-12 17:20  焦涛  阅读(151)  评论(0)    收藏  举报