使用 QtCreator 部署自定义构建项目

Posted

技术标签:

【中文标题】使用 QtCreator 部署自定义构建项目【英文标题】:Deploy a custom built project with QtCreator 【发布时间】:2018-05-17 05:33:35 【问题描述】:

我在 Linux 上使用带有 QtCreator 4.6.0 IDE 的自定义构建系统(不是 CMake 或 qmake),尽管我已经安装了这两个插件。

我的项目针对嵌入式 Linux 设备进行了交叉编译,我已经为其设置了套件。 构建良好,但问题在于部署步骤,自定义构建系统没有告诉它可执行文件,因此它不知道要部署到哪些文件装置。我一直在参考这个页面:

http://doc.qt.io/qtcreator/creator-deployment-embedded-linux.html

在我的运行设置页面中,我有“通过 SFTP 上传文件”的“部署”部分,但 “要部署的文件”列表为空(请参见上面链接中的第一个屏幕截图)。当我尝试部署/运行时,它确认没有部署文件,因为它输出:

No deployment action necessary. Skipping.
Deploy step finished.

文档链接首先说 “编辑项目 .pro 文件中的 qmake INSTALLS 变量以添加丢失的文件。” 但是,我的项目根本没有 .pro 文件。我创建一个是为了好玩,而 QtCreator 不知道它的存在是为了能够查看 INSTALLS 行,所以这不起作用。

在底部的“将 CMake 项目部署到嵌入式 Linux 设备”部分中,它会显示 “您必须在您创建的 QtCreatorDeployment.txt 文件中指定所有其他文件,并将其放置在CMake 项目或活动构建配置的构建目录。” 所以我在主项目目录中创建了这样一个文件,以及构建目录:

/home/root
build/test:.

该文件对“要部署的文件”列表没有影响,即使在重新启动后也是如此。无论如何,这似乎表明这种方法适用于 CMake。但是,我什至没有在 Build&Run > Kits 中明确关闭 CMake 构建,所以我什至不知道如何开始使用 CMake 构建它(并且文档页面中没有任何见解:https://doc.qt.io/qtcreator/creator-project-cmake.html)。我在 Build Settings 页面上更改的一件事是在“Build Steps”中执行“Custom Process Step”而不是通常的 Make 步骤。

如何将文件添加到“要部署的文件”列表中?

【问题讨论】:

啊,我现在在套件的鼠标悬停上看到:“警告:不支持 CMake 2.8 版。请更新到 3.0 版或更高版本。”... 更新到 CMake 3 并没有明显的差异。 解决方法是手动设置自定义流程步骤以在文件中硬编码以使用 scp 上传。 【参考方案1】:

QtCreator 4.9 现在支持为通用(非 CMake)项目指定 QtCreatorDeployment.txt 文件来实现这一点。

https://doc.qt.io/qtcreator/creator-deployment-embedded-linux.html#deploying-cmake-projects-to-embedded-linux-devices

https://blog.qt.io/blog/2019/02/21/qt-creator-4-9-beta-released/

【讨论】:

以上是关于使用 QtCreator 部署自定义构建项目的主要内容,如果未能解决你的问题,请参考以下文章

依赖项更改时 Visual Studio 运行自定义构建工具

Bamboo 自定义部署-项目变量

如何使用 qtcreator 通过 ninja 构建系统远程部署应用程序

在 QtCreator 中构建失败时发出声音信号

带有自定义共享库的 Qt 项目交叉编译 Qt

创建自定义插件并在另一个构建脚本中使用它