新手求指导 QT cmake lupdate 更新失败

随风飘荡012 2020-09-09 05:53:39
cmake_minimum_required(VERSION 3.5)

project(Manager LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

#查找需要的Qt库文件,最好每一个库都要写,Qt也会根据依赖关系自动添加
find_package(Qt5Widgets)
find_package(Qt5Core)
find_package(Qt5Gui)
find_package(Qt5LinguistTools)

#查找当前文件夹中的所有源代码文件,也可以通过Set命令将所有文件设置为一个变量
FILE(GLOB SRC_FILES "./*.cpp")

#同理,查找当前文件夹中所有的头文件
FILE(GLOB HEAD_FILES "./*.h")

FILE(GLOB TS_FILES "./*.ts")

#同理,查找当前文件夹中所有的ui文件
set(UI_FILES
manager.ui
setting.ui)

#翻译
#set(TS_FILES
# manager_eng.ts
# manager_cht.ts
# manager_chs.ts)

qt5_create_translation(QM_FILES
${CMAKE_SOURCE_DIR}
${TS_FILES})

#set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "translate")
#qt5_add_translation(QM_FILES ${TS_FILES})


#通过Ui文件生成对应的头文件,一定要添加
qt5_wrap_ui(WRAP_FILES ${UI_FILES})

#添加资源文件
#set(SOURCES resources.qrc)

#创建工程文件
add_executable(Manager
# ${SOURCES}
${TS_FILES}
${QM_FILES}
${WRAP_FILES}
${UI_FILES}
${HEAD_FILES}
${SRC_FILES}
)

#添加QT5依赖项
target_link_libraries(${PROJECT_NAME}
Qt5::Core
Qt5::Gui
Qt5::Widgets)


提示失败内容
Starting external tool "E:\QT5\5.14.2\mingw73_32\bin\lupdate.exe E:/QT5project/Manager/CMakeLists.txt"
lupdate warning: no TS files specified. Only diagnostics will be produced.
"E:\QT5\5.14.2\mingw73_32\bin\lupdate.exe" finished


CMakeLists.txt里添加消息 发现并没有进去
是CMakeLists.txt写的有问题 应该怎么改
还是其他的地点设置不对

...全文
1984 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

add_executable 中只需要${QM_FILES}即ts文件编译后生成的qm文件所在路径即可。程序运行是不需要ts文件的,只需要qm文件;
#根据输入的参数生成.ts(translation source)文件,ts文件同时会被转换成.qm文件,并将qm文件路径放在QM_FILES里面。
#输入的参数是路径,可以是文件也可以是目录。如果后缀带有.ts将会被创建或者更新。其他的文件或目录会被lupdate认为是接收,用于更新ts文件。

lupdate soruse file-> .ts

lrelease .ts->.qm

app 使用 .qm进行程序的翻译

qt5_create_translation(QM_FILES
${CMAKE_CURRENT_SOURCE_DIR}
${TS_FILE}
)

可靠的大前辈 2020-09-29
  • 打赏
  • 举报
回复
图片是我cmakelists.txt的一部分内容,构建过程十分顺利,也没有出错,但是就是在build目录下没有生成对应的.qm文件。请问楼主已经成功生成.qm了吗?
可靠的大前辈 2020-09-29
  • 打赏
  • 举报
回复
我也是这么写的没有问题啊,应该是ts文件路径的锅。还有就是请教一下qt5_create_translation执行完成后我没有找到相应qm文件,如何对qm文件命名呢?
可靠的大前辈 2020-09-29
  • 打赏
  • 举报
回复
lupdate提示的信息是没有找到.ts文件,是不是指定的文件路径有问题

24,857

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧