QT_project交叉编译至i.mx6ull

本文详细介绍了如何在i.mx6ull开发板上使用QT进行项目开发,包括烧录正点原子出厂系统、配置网络、文件传输、跨平台编译FFMPEG库以及解决遇到的编译问题,最后介绍如何移植文件依赖和设置环境变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QT_project交叉编译至i.mx6ull

1.烧录正点原子出厂系统

原子哥出厂系统的库比较齐全,常用的库和包已经安装好,可以直接越过繁琐的环境,进行QT应用层面的开发移植。

2.配置网络

网络配置十分关键,决定了主机是否能够和开发板成功通信,以方便能够将编译好的elf可执行文件和文件运行所需要的动态链接库(.so)和静态链接库(.a)传送到开发板当中。

配置流程:

1.在u-boot中配置环境变量:

setenv ipaddr  192.168.2.192 
setenv ethaddr b8:ae:1d:01:00:00 
setenv gatewayip 192.168.2.1 
setenv netmask 255.255.255.0
setenv serverip 192.168.2.109 
saveenv  

2.测试网络:

ping 192.168.2.192 //主机ping开发板

3.传输文件

传输文件时使用SSH协议进行传输

scp Appname name@192.168.2.192:/IPC/

3.文件编译

在QT源码路径下,进入终端进行编译:

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
//arm-poky-linux-gnueabi-gcc -v 查看编译器信息
make clean 
make

4.移植文件依赖

IPC_FOR_CAR项目中用到了FFMPEG视频流,其中的动态链接库需要将其编译为arm平台下的.so才能满足开发板运行程序的条件。

交叉编译ffmpeg遇到的问题

问题一:无法找到poky或者arm-linux-gnueabihf

在/etc/profile和~/.bashrc中添加了poky的路径 使用$取值查看 arm-linux-gnueabihf -v可以显示版本

问题二:由于./configure需要root权限 需要加上sudo

加上sudo,很多时候一些文件只能在用户环境下找到而root环境不能找到,使用sudo会导致丢失用户环境,先sudo -i 获取root权限保存用户环境即可。

问题三:poky还是报错

可能poky版本问题导致无法识别march等参数无法编译,使用arm-linux-gnueabihf,这时候会出现warning说没有pkg-config 可以不管。make后会出现libavutil,安装对应库,apt install

问题四:如果安装libavutil可能会出现依赖无法install

/var/lib/dpkg下 available-》available-bak status-》status-bak status-old-》status 修复apt install的问题

问题五:如果安装pkg-config 可能会出现依赖无法gdate.c文件有问题

#program …声明一下即可。

tar -vczf lib.tar.gz ./*打包压缩

tar -vxzf lib.tar.gz 解压

移植至开发板的位置:

用 ldconfig -v 指令查看目前已经生效环境变量,其中/usr/lib和/lib是系统默认的环境变量文件,可以直接将软件所需要的所有依赖拷贝至这两个地址当中。不过为了让开发者的依赖文件位置更加清晰,通常是将其放置到一个单独的路径下,如:/usr/local/lib/ 并在/etc/ld.so.conf中加入这个地址,最后再运行ldconfig -v使其生效并查看其是否成功加入至系统环境变量中

运行效果

在这里插入图片描述
QT项目链接:https://gitee.com/zhou-wenqi/ipc-for-car

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值