QT--交叉编译QT到arm A5开发板

要在ARM a5的开发板上使用QT,需要QT的arm平台的二进制文件,此时需要对QT的源码进行交叉编译。

步骤

1.到QT官网下载源码包,我这里选择的是qt5.9.9版本。

2.解压缩

tar -xf qt-everywhere-opensource-src-5.9.9
3.修改qmake配置。
在这里插入图片描述
在源码的这个路径下,修改配置文件
首先找到自己的交叉编译器路径(注意添加交叉编译器的环境变量)

在这里插入图片描述修改配置文件,设置编译器、链接器、汇编器为交叉编译器:

3.生成qmake,生成Makefile文件:

-xplatform linux-arm-gnueabi-g++指定平台为arm,会调用刚刚修改好的配置文件生成qmake,qmake会调用交叉编译器。
-prefix+路径 指定生成的二进制文件的路径。
-nomake tests -nomake tools -nomake examples不编译测试程序、工具、例子,提高编译速度。
其他的模块是否选用禁用可以看readme文档
我的选择配置:
 已经有Makefile文件了
在这里插入图片描述

4.make -j4 && make install

5.查看生成文件是否正确

 arm平台32位的二进制文件,动态库文件,这样就可以了。

6.测试

 qt设计师写个简单界面,交叉编译,下载到板子上,看是否正常运行

注意:

开发板上运行程序,提示找不到动态库库文件

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(QT的lib路径),设置程序的链接路径;

开发板上,程序报错和不显示文字

This application failed to start because it could not find or load the Qt platform plugin "linuxfb" in "/apps/QT5.9/plugins/"

 解决:

  1. QT_QPA_PLATFORM_PLUGIN_PATH=/apps/qt/plugins,设置QT的plugins路径;
  2. configure时加入-no-conv参数,显示英文文字;
  3. QT不显示中文,在虚拟机下拷贝/usr/shared/font/下的支持中文的.ttf字库文件到开发板,运行程序时加入参数-fn *.ttf指定字库路径,使用中文字库。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Xilinx是一家知名的半导体公司,其产品包括FPGA(现场可编程门阵列)和SoC(系统级芯片)。在使用Xilinx开发进行嵌入式开发时,可能需要进行交叉编译来生成ARM架构的可执行文件。 在进行Xilinx ARM Linux交叉编译之前,首先需要准备好交叉编译工具链。可以从Xilinx官方网站下载适用于特定开发交叉编译工具链。在下载过程中,需要注意选择与目标开发和Linux版本匹配的工具链。 成功下载并安装交叉编译工具链后,可以通过以下步骤执行交叉编译: 1. 创建一个新的工作目录,用于存放交叉编译的源码和生成的可执行文件。 2. 将需要交叉编译的源码复制到工作目录中。可以是自己编写的项目代码或开源项目。 3. 在终端中运行以下命令,设置环境变量,使其指向交叉编译工具链的路径: ```shell export ARCH=arm export CROSS_COMPILE=<交叉编译工具链的路径>/bin/<编译工具链前缀> ``` 其中,ARCH变量设置为arm,表示目标架构为ARM;CROSS_COMPILE变量设置为交叉编译工具链的路径和前缀,用于指定编译器和链接器。 4. 进入源码目录,并执行以下命令进行编译: ```shell make ``` 编译过程中,编译器将自动使用交叉编译工具链生成ARM架构的可执行文件。 5. 编译完成后,在工作目录中可以找到生成的可执行文件。将其通过适当的方式传输到目标开发上,并在Linux环境中运行。 以上就是使用Xilinx ARM Linux交叉编译的基本步骤。通过合适的交叉编译工具链和正确的设置,可以生成适用于ARM架构的可执行文件,从而实现在Xilinx开发上进行嵌入式开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值