借助QtCreator开发OpenWrt应用程序 一键远程运行解决方案
2016-09-25 22:21
731 查看
说一下自己的现实需求,在OpenWrt开发板上写应用程序已经有一段时间了,每次都是写完程序编辑makefile编译生成ipk包,手动拷贝到开发板上,运行调试,费劲。
我需要借助QtCreator我们可以实现写好程序后一键远程运行于开发板上!
1、下载OpenWrt源码配置编译
配置编译后会在/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/bin生成我们需要的相应平台上的交叉编译器,我是RT5350的开发板所以是mipsel,读者根据自己开发板情况寻找。这里面的mipsel-openwrt-linux-musl-gcc就类似于我们在arm开发板上开发程序需要的arm-linux-gcc的东西。
配置编译过程请参考我之前的博客:openWrt从源码下载到编译(开发环境搭建)
make完成后将/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/bin添加到环境变量中
gedit ~/.profile
export PATH=/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/bin:$PATH
重启后生效。
2、开启OpenWrt开发板上ssh+scp
我们借助luci的页面,打开System->Administration页面
设置为如下:
![](https://img-blog.csdn.net/20160925215040645)
在用于写代码的系统中生成ssh公钥,拷贝到下面的框框中
ssh-keygen
cat ~/.ssh/id_rsa.pub
保存并应用。
后面最重要的就是关闭开发板防火墙,否则无法登录的
/etc/init.d/firewall -disable
3、安装配置qt+qtcreator
直接下载qt-opensource-linux-x64-5.7.0.run,可以图形化安装,带有qt库和qicreator
启动qtcreator
Tools->Options页面
添加远程设备(OpenWrt开发板)
![](https://img-blog.csdn.net/20160925220426479)
Build&Run配置如下
![](https://img-blog.csdn.net/20160925220506621)
接下来可以新建工程,在.pro文件中添加
target.path = /mnt/udisk
INSTALLS += target
使远程执行在开发板的/mnt/udisk下进行操作
自定义编译操作,默认编译用的是系统默认gcc,我们自定义为mips的交叉编译器
如下图设置
![](https://img-blog.csdn.net/20160925220936326)
在Make arguments框中输入
CC=mipsel-openwrt-linux-gcc CXX=mipsel-openwrt-linux-g++ LINK=mipsel-openwrt-linux-g++
AR=mipsel-openwrt-linux-ar LD=mipsel-openwrt-linux-ld RANLIB=mipsel-openwrt-linux-ranlib
STRIP=mipsel-openwrt-linux-strip
自定义run
![](https://img-blog.csdn.net/20160925221805436)
根据scp openwrtTest4 root@192.168.0.60:/mnt/udisk ,Arguments中的%{}自己理解
然后就可以点击运行远程运行了。
写的有点粗糙,具体有什么问题可以留言我继续补充。
我需要借助QtCreator我们可以实现写好程序后一键远程运行于开发板上!
1、下载OpenWrt源码配置编译
配置编译后会在/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/bin生成我们需要的相应平台上的交叉编译器,我是RT5350的开发板所以是mipsel,读者根据自己开发板情况寻找。这里面的mipsel-openwrt-linux-musl-gcc就类似于我们在arm开发板上开发程序需要的arm-linux-gcc的东西。
配置编译过程请参考我之前的博客:openWrt从源码下载到编译(开发环境搭建)
make完成后将/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/bin添加到环境变量中
gedit ~/.profile
export PATH=/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-5.3.0_musl-1.1.14/bin:$PATH
重启后生效。
2、开启OpenWrt开发板上ssh+scp
我们借助luci的页面,打开System->Administration页面
设置为如下:
在用于写代码的系统中生成ssh公钥,拷贝到下面的框框中
ssh-keygen
cat ~/.ssh/id_rsa.pub
保存并应用。
后面最重要的就是关闭开发板防火墙,否则无法登录的
/etc/init.d/firewall -disable
3、安装配置qt+qtcreator
直接下载qt-opensource-linux-x64-5.7.0.run,可以图形化安装,带有qt库和qicreator
启动qtcreator
Tools->Options页面
添加远程设备(OpenWrt开发板)
Build&Run配置如下
接下来可以新建工程,在.pro文件中添加
target.path = /mnt/udisk
INSTALLS += target
使远程执行在开发板的/mnt/udisk下进行操作
自定义编译操作,默认编译用的是系统默认gcc,我们自定义为mips的交叉编译器
如下图设置
在Make arguments框中输入
CC=mipsel-openwrt-linux-gcc CXX=mipsel-openwrt-linux-g++ LINK=mipsel-openwrt-linux-g++
AR=mipsel-openwrt-linux-ar LD=mipsel-openwrt-linux-ld RANLIB=mipsel-openwrt-linux-ranlib
STRIP=mipsel-openwrt-linux-strip
自定义run
根据scp openwrtTest4 root@192.168.0.60:/mnt/udisk ,Arguments中的%{}自己理解
然后就可以点击运行远程运行了。
写的有点粗糙,具体有什么问题可以留言我继续补充。
相关文章推荐
- 在AE二次开发中出“正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。”异常解决方案
- vega开发的应用程序怎样在其他机器上运行
- EVC无法调试远程设备应用程序的解决方案
- 用ArcEngine9.3开发GIS应用程序图层符号化解决方案
- 用ArcEngine9.3开发GIS应用程序图层符号化解决方案
- “Visual Studio .NET 无法创建或打开应用程序。问题很可能是因为本地WEB本地服务器上没有安装所需的组件。请运行Visual Studio .NET安装程序并添加WEB开发组件“的一种解决方案
- 使用JSP开发应用程序时的编码(中文等乱码)问题的建议解决方案(包括接受request和数据库操作)
- 用ArcEngine9.3开发GIS应用程序图层符号化解决方案
- 借助 Picasa Web Albums 开发 PHP 应用程序
- Eclipse远程开发调试Linux应用程序,Eclipse+cdt+Uniwin+Ubuntu+gcc+gdb,打造超级Linux开发平台
- 基于.NET平台的应用程序开发中实现唯一应用程序运行实例
- 使用JSP开发应用程序时的编码(中文等乱码)问题的建议解决方案(包括接受request和数据库操作)
- Visual Studio .net 2003 关于“试图运行项目时出错:无法在Web服器上启动调试。您不具备调试此应用程序的权限。”的新解决方案
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。
- EVC无法调试远程设备应用程序的解决方案
- 基于.NET平台的应用程序开发中实现唯一应用程序运行实例
- [VC]Visual C++ 2008(或加上Feature Pack)发行后到未装vc9上运行提示"应用程序配置不正确" 的解决方案
- Windows Azure 解决方案系列: 开发拓展搜索-救援应用程序,拯救更多溺水者
- Asp.Net2.0运行环境出现“服务器应用程序不可用……”解决方案
- VMware Workstation 运行出现“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”解决方案