Qt5.7.0移植到4412

发布者:MysticSerenade最新更新时间:2021-12-24 来源: eefocus关键字:Qt5  7  移植到 手机看文章 扫描二维码
随时随地手机看文章

搞了几天,终于把Qt5.7移植到4412上,下面是一些自己移植过程中的记录,希望能帮到其他人。


一、需要下载的文件,

下载qt5.7源码qt-everywhere-opensource-src-5.7.0.tar.xz 
http://www.download3k.com/Install-Qt.html

下载ARM交叉编译工具arm-2014.05-29-arm-none-Linux-gnueabi-i686-pc-linux-gnu.tar.bz2 
http://www.veryarm.com/arm-none-linux-gnueabi-gcc

下载tslib1.4 
http://vdisk.weibo.com/s/AcUHxOERV2k0?sudaref=www.baidu.com

桌面系统是ubuntu14.04 32位 ,开发板目前搭载的系统是来自讯为的最小Linux系统。


二、移植

1.安装arm交叉编译器arm-2014,将下载的arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2解压到自己的安装目录,这里我选的是 /usr/local/arm  

下来就是修改环境,打开etc/profile

vi /etc/profile

添加 

export PATH=$PATH:/usr/local/arm/arm-2014.05/bin
export CROSS_COMPILE=arm-none-linux-gnueabi-

保存后 更新下  source /etc/profile

控制台输入arm  按两下下table后如果出现arm-none-linux-gnueabi-gcc-4.8.3  说明可以了,也可以通过

arm-none-linux-gnueabi-gcc -v  这条命令测试,如果出现一大串字母 ,最后一行是gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29)  ,那就没问题了。

2.安装tslib1.4

将下载的tslib1.4解压到自己的目录 ,我选得是自己downloads文件夹 ,解压得到tslib1.4文件夹,在控制台进入这个文件夹,先安装一些东西,

sudo apt-get install autoconf

sudo apt-get install automake

sudo apt-get install libtool

 

安装完之后执行 

./autogen.sh

然后

./configure CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ --host=arm-none-linux-gnueabi  --prefix=/opt/tslib1.4 ac_cv_func_malloc_0_nonnull=yes

prefix是自己的安装目录,自己决定。

最后 

make

sudo make install

没出错的话就可以继续下一步了,出错了百度吧,估计是没安装什么东东。


3. 编译Qt5.7的源码。

在自己的downloads文件夹解压得到的源码,

进入该文件夹,打开qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf  ,修改成下面的

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
 
MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib
 
QT_QPA_DEFAULT_PLATFORM = linux #eglfs
QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a
 
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
 
# modifications to g++.conf
QMAKE_CC                = arm-none-linux-gnueabi-gcc
QMAKE_CXX               = arm-none-linux-gnueabi-g++
QMAKE_LINK              = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++
 
# modifications to linux.conf
QMAKE_AR                = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-none-linux-gnueabi-objcopy
QMAKE_NM                = arm-none-linux-gnueabi-nm -P
QMAKE_STRIP             = arm-none-linux-gnueabi-strip
load(qt_config)

  执行

1
./configure -release -opensource -tslib -xplatform linux-arm-gnueabi-g++ -prefix /opt/Qt-5.5.0/armv7-a -no-c++11 -no-opengl -I/opt/tslib1.4/include -L/opt/tslib1.4/lib

  没有错误的话 就 make && make install

到安装文件夹下就出现了安装的文件

那就成功了。


三、安装qt-crearor3.3.0  

从http://mirrors.hust.edu.cn/qtproject/archive/qt/   下载需要的版本,直接运行 ,一路 next 下去就行了。


打开安装的qtcreator ,设置开发环境,如下图

 

 

OK  用过windows版本的qt这应该没什么难度。


四 、程序测试。

将编译好的tslib1.4 和qt整个文件夹 拷贝到开发板的/opt目录,

修改开发板环境:vi /etc/profile


export TSLIB_ROOT=/opt/tslib1.4

export QT_ROOT=/opt/qt-5.7.0  

export TSLIB_TSDEVICE=/dev/input/event2

export TSLIB_TSEVENTTYPE=input        

export TSLIB_CONFFILE=/opt/tslib1.4/etc/ts.conf

export TSLIB_PLUGINDIR=/opt/tslib1.4/lib/ts   

export TSLIB_CONSOLEDEVICE=none               

export TSLIB_FBDEVICE=/dev/fb0            

export QWS_MOUSE_PROTO=tslib:/dev/input/event2

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$TSLIB_ROOT/lib:$TSLIB_ROOT/lib/

export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins                                             

export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0                                                     

export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts          

export QT_QPA_GENERIC_PLUGINS=tslib

然后在串口命令窗中输入 vi /opt/tslib1.4/etc/ts.conf 来配置触摸屏 

删除第二行前面的#就可以了,如果出错重新打开修改第二行,去掉空格和#

 

 

一切搞完之后就可以编写qt程序了,将编译后的程序用u盘复制到开发板,./program  就可以运行了,但十有八九会报错缺少libstdc++.so  所以要复制一个libstdc++.so到lib目录下,到此,搞定。


下面是我用的libstdc++.so。

http://pan.baidu.com/s/1nvJbRB

hb1m

 

整个过程中很感谢 刘大神、彩阳博主和一名热心网友的帮助。

参考的:

http://www.cnblogs.com/topeet/p/5711957.html

http://blog.csdn.net/u012175418/article/details/52704734?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

http://www.cnblogs.com/emouse/archive/2013/01/29/2881311.html

关键字:Qt5  7  移植到 引用地址:Qt5.7.0移植到4412

上一篇:如何在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot启动盘
下一篇:迅为4412开发板接口详解(一)

推荐阅读最新更新时间:2024-11-09 11:02

2022世界动力电池大会将于7月21日举行 世界级行业盛会
7月21日至23日,2022世界动力电池大会将在四川宜宾举行。这场以“智汇绿色动力·创享低碳未来”为主题的行业盛会,由四川省人民政府、工业和信息化部主办,是我国举办的全球首个世界级动力电池行业盛会。大会旨在深化产业国际合作交流,吸引全球创新优势资源集聚,推动动力电池产业高质量发展,为“一带一路”建设、长江经济带发展、成渝地区双城经济圈建设提供重要引擎。 2022世界动力电池大会以“智汇绿色动力·创享低碳未来”为主题,突出国际化、专业化、市场化,集会、展、赛、体验于一体,将举办开幕式、主论坛、考察体验、企业家之夜、投资促进会、分论坛、闭门会、展览会、挑战赛、“云上宜宾”高端对话等系列活动,内容丰富、精彩纷呈,大会将凸显“重要嘉宾
[汽车电子]
2022世界动力电池大会将于<font color='red'>7</font>月21日举行 世界级行业盛会
7GWh钠电池项目来了!
研究数据显示,根据 钠离子电池 各潜在应用场景对 电池 的需求量进行测算,理论上,钠离子电池在100%渗透的情况下,在2026年的市场空间可达到369.5GWh,其理论市场规模达到1500亿元。 业内已基本一致地认为,2023年将成为钠离子电池量产元年。 基于可预见的、行之将至的巨大市场,又有不少资本争先恐后的涌入。 户用 储能 巨头2.2亿入局 3月3日晚间, 派能科技 (688063)公告,为丰富公司产品品类和拓展公司业务领域,公司全资子公司江苏中兴派能电池有限公司(以下简称“扬州派能”),拟于仪征经济开发区建设派能科技1GWh钠离子电池项目,该项目投资总额约2.2亿元人民币,预计建设周期6个月。 派能
[汽车电子]
如何用西门子S7-1200通过PROFINET,控制G120变频器的启停和输出频率
西门子G120 是采用模块化设计的变频器,主要包括两部分:控制单元和功率单元。控制单元支持常用的现场总线协议,如ModbusRTU、USS、Profibus-DP、ProfinetIO、CANopen等,功率单元支持0.35kW至250kW的功率范围。还有可选的调试面板BOP-2。 这里选择支持ProfinetIO的控制单元CU240E-2PN-2,主要内容包括硬件接线和控制。 转速控制报文格式功能说明 1、转速控制时的报文格式 可以看出,报文收发各占用占用两个字的数据地址,STW1表示控制字发出命令,控制变频器正反转、停止等;NSOLL_A转速设定地址,设置变频器的输出频率;ZSW1表示状态字,显示变频器的运行状态和
[嵌入式]
FFmpeg移植mini2440
Fedora 8 arm-linux-gcc 3.4.1 下载ffmpeg_x264_src_20071007源码 免费下载地址在 http://linux.linuxidc.com/ 用户名与密码都是www.linuxidc.com 具体下载目录在 /pub/2011/09/25/FFmpeg移植到mini2440/ 交叉编译x264 #CC=arm-linux-gcc ./configure --prefix=/usr/local/arm/3.4.1/arm-linux/ --host=arm-linux #make 错误 common/cpu.c:212 'cpu_set_t' undeclared comm
[单片机]
7. Stm32f407 key外部中断
硬件平台: stm32f407ve 软件平台: win10 (OS Name: Microsoft Windows 10 Enterprise OS Version: 10.0.18363 N/A Build 18363) Keil5 5.26.2 HAL库版本: 2.14.0(目前下载的最新的) 中断这个部分需要参考中文手册和权威指南。 这里我还是提一下NVIC这个东西,全称是Nested vectored interrupt controller,即嵌套向量中断控制器。这个器件是用来管理stm32所有中断的(在现实
[单片机]
<font color='red'>7</font>. Stm32f407 key外部中断
科德宝集团掌舵者交接:Claus Möhlenkamp将于2025年7月1日接替索伊博士担任管理委员会主席
科德宝集团掌舵者交接:Claus Möhlenkamp将于2025年7月1日接替索伊博士担任管理委员会主席 魏茵海姆,2024年10月8日。科德宝集团CEO索伊博士(Dr. Mohsen Sohi)将于2025年6月30日退休。其继任者Claus Möhlenkamp将于2025年1月1日加入科德宝欧洲股份公司与科德宝集团公司的管理委员会,担任副主席一职。待索伊博士卸任后,Möhlenkamp将正式接任科德宝欧洲股份公司CEO及科德宝集团公司管理委员会主席。 索伊博士是科德宝集团175年历史上第二位非家族出身的最高级别管理者,亦是集团第七位CEO。 索伊博士为美国籍,加入科德宝之前,曾在航空航天、汽车和电子领域的多家
[工业控制]
西门子S7-1500如何读取机器人信号
方法一 DPRD_DAT:读取 DP 标准从站的一致性数据 该指令适用于中央模块以及 DP 标准从站和 PROFINET IO 设备。 可以使用以下数据类型:BOOL,BY TE ,CHAR,WCHAR,W OR D,LWORD,DWORD,INT,UINT,USINT,SINT,LINT,ULINT,DINT,UDINT,REAL,LREAL。在类型为 ARRAY 或 STRUCT 的数据结构中也可使用这些数据类型。 o 不支持数据类型 STRING 和 WSTRING 。 o 支持 PLC 数据类型 (UDT) 和系统数据类型。 • 如果在数据传输过程中未发送任何错误,则所读取的数据将输入到 参数 RECO
[嵌入式]
西门子S<font color='red'>7</font>-1500如何读取机器人信号
西门子S7-200 SMART PLC定时器指令介绍
定时器是一种按时间动作的继电器,相当于继电器控制系统中的时间继电器。一个定时器可有很多个常开触点和常闭触点,其定时单位有1ms、10ms、100ms三种。根据工作方式不同,定时器可分为三种: 通电延时型定时器(TON) 断电延时型定时器(TOF) 记忆型通电延时定时器(TONR) 三种定时器的梯形图符号如图4-4所示,其有关规格见表4-8。TON、TOF是共享型定时器,当将某一编号的定时器用作TON时就不能再将它用作TOF,如将T32用作TON定时器后,就不能将T32用作TOF定时器。 图4-4 三种定时器的梯形图符号 表4-8 三种定时器的有关规格 通电延时型定时器(TON) 通电延时型定时器(TON)的特点是:当T
[嵌入式]
西门子S<font color='red'>7</font>-200 SMART PLC定时器指令介绍
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved