前言
因为一些需求。。我的学习先跳过裸板开发那些,最近在做一个qt的项目,想把我自己写的这个qt的项目下载到开发板上去运行,所以本章节就学习了如何交叉编译qt项目并将其下载到IMX6ULL的开发板上去运行。
目的
跟着教程将正点原子给的点亮led的qt项目移植上去,然后移植我自己写的,下面的都是抄的,把正点的教程搬过来了
安装通用的ARM交叉编译工具链
把开发板光盘 A-基础资料->5、开发工具->1、交叉编译器->fsl-imx-x11-glibc-x86_64-meta-
toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh 拷贝到 Ubuntu 虚拟机
chmod u+x fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh
直接执行脚本安装交叉编译工具,连续敲下两次回车键确认,再输入用户密码即可。本次
安装的目录为脚本所指定的默认安装的目录,后面的内核编译环境的交叉编译都是按这个安装
目录去操作,所以建议用户也是默认安装到/opt/fsl-imx-x11/4.1.15-2.1.0 这个默认目录。
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
到这里我有一个问题就是我不知道为什么不把这个环境变量弄成永久的,而是要每次打开一个终端先使能一遍,不过本着前辈已经走出的路我就不去开辟道路的精神,我就没试。(虽然添加个路径就是随手的事,但是我怕弄坏啥玩意)
arm-poky-linux-gnueabi-gcc -v
查看gcc版本。
使用交叉编译器编译qt文件
在执行完上面之后,这个时候就可以用qmake了
正点原子给了我们两种编译的方式,在看完这两种编译方式之后果断选择使用终端命令去编译,因为另一种方式得在qtcreator里面来回配东西,很麻烦,而这个终端命令只需要两个命令就行了。
第一步
通过终端到你qt的工程目录下,然后执行
qmake
前提是你的那个目录下面只有一个.pro文件(有好几个的话就在后面加名字)
在执行完qmake之后,那个目录下就会出现一个Makefile,然后执行
make -j 4
后面那个数字表示的是这个编译用几个内核,根据你的虚拟机分配内核需求设置,数字越大编译越快。之后会生成一个你工程名的执行文件比如我的就是一个绿色的LED_1
这样就编译好了,然后把这个东西通过各种方式弄到开发板上,然后根据自己的方法,只要让你的开发板去运行这个文件即可。
开发板操作
首先将开发板上自带的demo终结掉
killall /opt/QDesktop
跳转到目录下直接执行即可
开机自启设置
vi /etc/rc.local
这个文件下
这是视频截屏,示例代码名字是55
保存退出即可开机重启此程序
后续
因为我自己的qt里面包含了webengine的库,目前qmake的编译器里面没有包含那个webengine,我在想办法把他装进去。。。(未完待续)