我正在使用Qt Creator作为非Qt项目的IDE,为arm-linux交叉编译,部署到raspberry pi(即使不使用Qt,Qt Creator也是一个非常好的IDE!)。该项目不使用qmake进行构建,因此没有.pro文件可供修改。
我想添加一个部署步骤,其中主要可执行文件以及未来可能的更多内容将被复制到设备,准备进行测试或调试。在IDE中,似乎无法添加要部署的文件:
我见过的所有帮助页面都说要在.pro文件中的INSTALL变量中添加一些东西,当然,这不适用于我。有没有办法做到这一点,或者是“自定义命令”(并编写我自己的部署脚本)我唯一的选择?
答案 0 :(得分:1)
Qt创建者对Raspberry Pi,MCU和其他设备一无所知。所以是的,你需要编写自己的脚本,但它可以很容易地集成到Qt创建者中。首先,如果您不使用qmake
,那么我假设您使用的是Makefile
。如果是,请将部署脚本编写为Makefile的install
目标,并在Qt Creator的运行设置中选择“本地”部署方法。添加Make
部署步骤并将install
写入其他参数文本框。
您也可以调整Qt Creator以运行您刚构建的程序以外的其他内容。例如,您可以运行一个脚本,该脚本登录到远程RPi并运行已安装的内容。另一种选择是不运行任何东西。例如,我使用Qt Creator为裸机MCU开发程序,因此它在闪存后立即启动,而后者又由Qt Creator部署阶段的make install
触发。当你按下Run
按钮时,Qt Creator需要在本地运行一些东西,所以为了阻止我对可执行文件的困扰,我指出它在运行设置中的运行阶段为/usr/bin/true
二进制文件。
答案 1 :(得分:0)
如果您想将config文件夹部署到目标设备
├── 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
在专业文件中执行此操作
# 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