qt添加鸿蒙设备,使用 CMake 将 Qt 项目部署到嵌入式设备

本文介绍了如何使用CMake将Qt项目部署到鸿蒙设备,通过CMakeLists.txt配置文件设置安装路径,并利用Qt Creator的部署功能,结合QtCreatorDeployment.txt文件映射,实现远程嵌入式设备的无缝部署。
摘要由CSDN通过智能技术生成

运行 Qt 项目时,Qt Creator 首先通过 ssh 将项目部署到远程嵌入式 Linux 设备上,然后在远程设备上运行可执行文件。这个特性几乎可以即时反馈 Qt 应用程序如何在嵌入式设备上工作。

部署工作可以很好地使用 qmake 的 INSTALLS 变量 来实现。不过 CMake 不具备类似 qmake 的 INSTALLS 变量的功能。幸运的是,Qt 提供了一个解决方案。下面将通过一个示例 CMakeLists.txt 文件来演示这个解决方案。

我们希望在嵌入式设备的 /opt/mycompany/bin 中安装 Qt 项目的可执行文件,在 /opt/mycompany/lib 中存放需要的三方库,而 /opt/mycompany/cad 是包含 3D CAD 文件的目录。CMakeLists.txt 的安装部分(位于 ${CMAKE_SOURCE_DIR}/src 中)与此类似。

set(CMAKE_INSTALL_PREFIX "/opt/mycompany")

install(TARGETS ${PROJECT_NAME}

RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin

)

install(FILES ./lib/other/libMagic.so

DESTINATION ${CMAKE_INSTALL_PREFIX}/lib

)

install(DIRECTORY ./cad/

DESTINATION ${CMAKE_INSTALL_PREFIX}/cad

)

上述设置本地部署到 Linux PC 与 make install 都工作良好。但是,嵌入式 Linux 设备的远程部署不能正常工作。

Qt Creator 在 项目>运行设置>部署>Files to deploy 设置中显示了从本地文件路径到远程文件路径的映射。对于上面的安装功能,Qt Creator 将只显示一个条目。可执行应用程序从其构建位置 ${CMAKE_BINARY_DIR}/src/app 映射到 src。这显然是不对的。

解决这个问题的思想 是让 CMake 将从本地文件路径到远程文件路径的映射写入一个被命名为 QtCreatorDeployment.txt 的文件中。正确定义的 QtCreatorDeployment.txt 将包含以下映射。

/opt/mycompany

src/../../build-app-Remote_Qt_5_12_1-Release/src/app:bin

src/lib/other/libMagic.so:lib

src/ca

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值