如何添加文件以使用 Qt Creator 部署,而不是使用 qmake

How to add files to deploy with Qt Creator, not using qmake

我正在使用 Qt Creator 作为非 Qt 项目的 IDE,为 arm-linux 交叉编译,以部署到 raspberry pi(Qt Creator即使不使用 Qt 也是相当不错的 IDE!)。该项目没有使用qmake构建,所以没有.pro文件可以修改。

我想添加一个部署步骤,将主要的可执行文件以及未来可能更多的东西复制到设备上,准备好进行测试或调试。从IDE开始,似乎没有办法添加要部署的文件:

我看到的所有帮助页面都说要向 .pro 文件中的 INSTALL 变量添加一些内容,但是当然,这对我不适用。有没有办法做到这一点,或者 "custom command"(并编写我自己的部署脚本)是我唯一的选择?

Qt creator 对Raspberry Pi、MCU 和其他设备一无所知。所以是的,您需要编写自己的脚本,但它可以很容易地集成到 Qt Creator 中。首先,如果您不使用 qmake,那么我假设您使用的是 Makefile。如果是这样,请将您的部署脚本编写为 Makefile 的 install 目标,并在 Qt Creator 的 运行 设置中选择 "local" 部署方法。添加 Make 部署步骤并将 install 写入附加参数文本框。

您还可以将 Qt Creator 调整为 运行 不同于您刚刚构建的程序的东西。例如,您可以 运行 登录远程 RPi 的脚本和 运行 安装的内容。另一种选择是不 运行 任何东西。例如,我使用Qt Creator 为裸机MCU 开发程序,因此它在闪烁后立即启动,然后由Qt Creator 部署阶段的make install 触发。当你按下 Run 按钮时,Qt Creator 需要在本地 运行 一些东西,所以为了阻止它打扰我关于可执行文件我指出它是 运行 阶段 运行 设置为 /usr/bin/true二进制。

如果你想部署让我们说配置文件夹到目标设备

├── embix.pro
├── main.cpp               
├── main.h                          [TARGET DEVICE]
...
├── config                          ├── /etc/embix                          
│   ├── bbb                         │           ├── bbb                     
│   │   └── pin.conf                │           │   └── pin.conf
│   ├── orangepi0       ------>     │           ├── orangepi0                 
│   │   └── pin.conf                │           │   └── pin.conf
│   └── rpi                         │           └── rpi
│      └── pin.conf                 │               └── pin.conf

在 pro 文件中执行此操作

# Default rules for deployment.
target.path = /home/pi/$${TARGET}/bin   // where your binary goes

# new deploy rule called config         
myconf.files = ./config/*               // from                 
myconf.path = /etc/$${TARGET}           // to

!isEmpty(target.path): INSTALLS += target
!isEmpty(myconf.path): INSTALLS += myconf