远程Linux部署配置

在项目配置文件和“项目”>“运行设置”>“部署”中指定部署到通用远程Linux设备的应用程序的设置。

"Deploy to remote Linux devices"

要安装的文件列在“部署”步骤的“要部署的文件”字段中。源文件路径显示文件在开发电脑上的位置。目标目录字段显示文件在设备上安装的目录。红色文字表示信息缺失。

如果构建系统没有自动检测源目录和目标目录,请选择“覆盖构建系统中的部署数据”,然后选择“添加”手动输入。

添加缺少的文件

将文件添加到部署的过程取决于您使用的构建系统。有关更多信息,请参阅指定项目内容

CMake 构建

当使用 CMake 作为构建系统时,在 CMakeLists.txt 文件中使用 install 命令添加缺少的文件。

例如,在 CMakeLists.txt 文件中添加以下行,以便将您的项目二进制文件安装到远程设备的 /opt 目录中

set(INSTALL_DESTDIR "/opt")

install(TARGETS <target>
    RUNTIME DESTINATION "${INSTALL_DESTDIR}"
    BUNDLE DESTINATION "${INSTALL_DESTDIR}"
    LIBRARY DESTINATION "${INSTALL_DESTDIR}"
)

qmake 构建

当使用 qmake 时,请在项目的 .pro 文件中编辑 INSTALLS 变量。

运行应用程序时,Qt Creator 会将必需的文件复制到设备上,并在其上启动应用程序。

例如,在 .pro 文件中添加以下行,以便将您的项目二进制文件复制到远程设备的 /opt 目录中

target.path = /opt
INSTALLS += target

要部署额外的文件,请将它们添加到包含在 INSTALLS 中的其他目标中。

部署步骤

当您在设备上运行应用程序时,Qt Creator首先将所需文件上传到其上,这些文件由部署步骤指定。

上传文件

默认情况下,Qt Creator通过SSH文件传输协议(SFTP)将应用程序文件复制到设备上,如“通过SFTP上传文件”步骤中指定。

注意:如果SFTP上传失败,请确认远程设备在其SSH守护进程中启用了SFTP。某些没有SFTP支持的Dropbear版本,在尝试SFTP上传时会崩溃。这不是Qt Creator的bug。

如果您有大量数据要复制,在“通过SFTP上传文件”步骤中选择细节,然后选择增量部署复选框。Qt Creator将注意部署时间,并只复制自上次部署以来已更改的文件。然而,当您在设备上进行重大更改时,例如手动从设备中删除文件或闪烁新磁盘映像,或者当您使用具有相同IP地址的另一个设备时,取消选中复选框一次,以便Qt Creator重新部署所有文件。

创建Tar包

要仅创建tar包而不将文件复制到设备,选择添加部署步骤 > 创建tar包。然后删除所有其他部署步骤。

通过SFTP上传部署tar包步骤指定Qt Creator将tar包上传到设备并提取它。

另请参阅 如何:构建和运行如何:为远程Linux开发,以及远程Linux运行设置

©2024年Qt公司有限公司。本文件中包含的文档贡献是各自所有者的版权。本提供的文档是在自由软件基金会发布并由其发布的GNU自由文档许可证(版本1.3)的条款下提供的。Qt及其相关标志是芬兰及其在全世界其他国家和地区的Qt公司的商标。所有其他商标均为各自所有者的财产。