我使用Qt作为非Qt项目的IDE,该项目是为arm-linux交叉编译的,将部署到raspberry pi (Qt是一个非常好的IDE,即使不使用Qt!)。该项目不使用qmake构建,因此没有需要修改的.pro文件。
我想添加一个部署步骤,在这个部署步骤中,主可执行文件以及将来可能会有更多的内容被复制到设备上,以便进行测试或调试。在IDE中,似乎没有办法添加要部署的文件:
我看到的所有帮助页都说要在.pro文件中添加安装变量,但这当然不适用于我。有办法做到这一点吗,还是“自定义命令”(并编写我自己的部署脚本)是我的唯一选择?
发布于 2016-04-06 20:10:36
Qt创建者对Raspberry Pi、MCU和其他设备一无所知。因此,您需要编写自己的脚本,但是可以轻松地将它集成到Qt创建者中。首先,如果您不使用qmake
,那么我假设您使用的是Makefile
。如果是这样的话,将部署脚本编写为Makefile的install
目标,并在Qt的运行设置中选择“本地”部署方法。添加Make
部署步骤并将install
写入附加参数文本框。
您还可以调优Qt以运行您刚刚构建的程序以外的其他内容。例如,您可以运行一个脚本,该脚本登录到远程RPi并运行安装的内容。另一种选择是不运行任何东西。例如,我使用Qt来开发一个裸金属微控制器的程序,所以它在闪烁后立即启动,这反过来是由make install
从Qt的部署阶段触发的。当您按Run
按钮时,Qt需要在本地运行一些东西,因此为了停止它困扰我的可执行文件,我指出它在RunSettingsto/usr/bin/true
二进制文件中处于运行阶段。
发布于 2019-10-10 07:52:11
如果您想将配置文件夹部署到目标设备上
├── 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
https://stackoverflow.com/questions/36465872
复制相似问题