QT 5.7.0 交叉编译记录
这一篇记录 Qt 5.x cross-compiler with eglfs , 平台是 TI-AM3354, 上一篇SGX的移植就是为了这一次的交叉编译。
一、 下载QT的源码:
地址: http://download.qt.io/official_releases/qt/5.7/5.7.0/single/
二、 解压并配置
// 定义一个配置脚本
// vim ti_qtcon.sh
#!/bin/sh
./configure -v -opensource -confirm-license -no-pch \
-prefix /home/sbc_7109_454_pdk3/qt_5.7/qtlib \
-release \
-opengl es2 -make libs -device linux-beagleboard-g++ \
-device-option CROSS_COMPILE=/home/sbc_7109_454_pdk3/ti_sdk/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- \
-sysroot /home/sbc_7109_454_pdk3/ti_sdk/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi \
-linuxfb \
-eglfs \
-no-gcc-sysroot \
-make examples -make tools -nomake tests
// 再看一下
// vim qtbase/mkspecs/devices/linux-beagleboard-g++/qmake.conf
1 #
2 # qmake configuration for the BeagleBoard and BeagleBoard xM boards
3 # http://beagleboard.org/
4
5 MAKEFILE_GENERATOR = UNIX
6 CONFIG += incremental
7 QMAKE_INCREMENTAL_STYLE = sublib
8
9 include(../../common/linux.conf)
10 include(../../common/gcc-base-unix.conf)
11 include(../../common/g++-unix.conf)
12
13 load(device_config)
14
15 QT_QPA_DEFAULT_PLATFORM = eglfs
16
17 # modifications to g++.conf
18 QMAKE_CC = $${CROSS_COMPILE}gcc
19 QMAKE_CXX = $${CROSS_COMPILE}g++
20 QMAKE_LINK = $${QMAKE_CXX}
21 QMAKE_LINK_SHLIB = $${QMAKE_CXX}
22
23 # modifications to linux.conf
24 QMAKE_AR = $${CROSS_COMPILE}ar cqs
25 QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
26 QMAKE_NM = $${CROSS_COMPILE}nm -P
27 QMAKE_STRIP = $${CROSS_COMPILE}strip
28
29 COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb
30
31 #modifications to gcc-base.conf
32 QMAKE_CFLAGS += $${COMPILER_FLAGS}
33 QMAKE_CXXFLAGS += $${COMPILER_FLAGS}
34 QMAKE_CXXFLAGS_RELEASE += -O3
35
36 QMAKE_LIBS += -lrt -lpthread -ldl
37
38 # Extra stuff (OpenGL, DirectFB, ...)
39 QMAKE_INCDIR_EGL =
40 QMAKE_LIBDIR_EGL =
41 QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
42 QMAKE_LIBDIR_OPENGL_ES2 = $${QMAKE_LIBDIR_EGL}
43 QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
44 QMAKE_LIBDIR_OPENVG = $${QMAKE_LIBDIR_EGL}
45
46 QMAKE_LIBS_EGL = -lEGL -lIMGegl -lsrv_um
47 QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 $${QMAKE_LIBS_EGL}
48 QMAKE_LIBS_OPENVG = -lOpenVG $${QMAKE_LIBS_EGL}
49
50 DISTRO_OPTS += hard-float
51
52 # No need for any special EGL device integration.
53 # Prioritize the default, compiled-in integration over any plugins.
54 EGLFS_DEVICE_INTEGRATION = none
55
56 include(../common/linux_arm_device_post.conf)
57
58 load(qt_config)
编译
make
make install
生成的文件会放在 sysroot 下面的 /home/sbc_7109_454_pdk3/qt_5.7/qtlib 里面
QT 5.7.0 交叉编译记录的更多相关文章
- 关于qt学习的一点小记录(2)
嗯...这次接了个单 要求图形界面,刚好可以巩固并学习下QT.毫不犹豫的就接了 下面记录下出现的问题: 1. QWidget和QDialog QDialog下的槽函数有accept()与reject( ...
- Windows下OpenCV 3.1.0 在 Qt Creator 4.0.2 (Qt 5.7.0 MinGW) 中的开发环境配置
2017-2-23 Update: 修改并添加了部分细节 最近正在学习OpenCV ,为毕业设计做准备.Windows版本的OpenCV都默认提供对VS的支持,其在VS中的配置比较简单,网上也有大批教 ...
- Qt5.12.0交叉编译
Qt5.12.0 交叉编译 源码配置 修改 qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 文件 MAKEFILE_GENERATOR = UNIX C ...
- ASP.NET Core 1.0 开发记录
官方资料: https://github.com/dotnet/core https://docs.microsoft.com/en-us/aspnet/core https://docs.micro ...
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...
- windows下Qt Creator5.1.0编写程序以及调用OpenCV库
系统说明 最近使用opencv编写程序,程序编的差不多就学习使用QT加个界面,首先声明下本人的系统和使用的软件版本, 系统: windows xp QT IDE:QT Creator5.1.0 Ope ...
- Qt 5.2.0 和 VS 2012集成
下载两个安装包,后面一个add-in是必需的 Qt 5.2.0 for Windows 64-bit (VS 2012, 590 MB) (Info) Visual Studio Add-in 1.2 ...
- Qt on Android: Qt 5.3.0 公布,针对 Android 改进的说明
5月20日本,Qt 官方博客宣布 Qt 5.3.0 公布! 这个版本号聚焦在性能.稳定性和可用性的提升上,与 5.1 / 5.2 相比有非常大提升. 5.3.0 的主要变化: 稳定能.可用性大大提升 ...
- dedecms如何修改共0页/0条记录为英文版?
近日,在测试一个网站功能的时候,发现在搜索结果的下面为中文的“共0页/0条记录”,但客户的网站为英文版,所以我们需要将搜索的结果信息也要显示为英文,好了,我们开始动手修改dedecms的文件,以达到我 ...
随机推荐
- 在MyEclipse中改动jsp页面的默认打开方式
在JavaWeb项目中.当然有非常多jsp页面,可是我发现,双击打开jsp页面总是卡机.相对于打开其它java文件而言非常慢,感觉非常不舒服.MyEclipse中默认打开jsp页面是以可视化的形式展现 ...
- 算法:辗转相除法【欧几里德算法(Euclidean algorithm)】
1.来源 设两数为a.b(a>b),求a和b最大公约数(a,b)的步骤如下:用a除以b,得a÷b=q......r1(0≤r1).若r1=0,则(a,b)=b:若r1≠0,则再用b除以 ...
- AJAX 跨域 CORS 解决方案
本篇文章由:http://xinpure.com/solutions-for-cross-domain-ajax-cors/ 两种跨域方法 在 Javascript 中跨域访问是比较常见的事情 就像现 ...
- ADO,OLEDB,ODBC,DAO,RDO的区别说明
http://www.jb51.net/article/31286.htm http://wenku.baidu.com/link?url=D7iis1tmkyXTCqjsezsvYtYHWG8jK- ...
- Java Socket 编程之Socket与ServerSocket的区别
http://www.cnblogs.com/hq-antoine/archive/2012/02/11/2346474.html 1.1 ServerSocket类 创建一个ServerSoc ...
- 在Android 开发中使用 SQLite 数据库笔记
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PH ...
- Linux命令-系统健康命令:top
查看系统健康命令 top之后,按1键可以看到每一个cpu使用情况 top 默认是3秒刷新一次,q退出
- 【ERROR】Oracle11g两个监听同名进程的故障
问题: 一个实例启动了另个两个监听. 解决方法: #ps -ef | grep tnslsnr #oracle 925826 1 0 Apr 06 - 234:50 /u01/app/oracle/p ...
- shell 基本学习
1)查看当前shell echo $SHELL 2)查看兼容shell more /etc/shells 3) 脚本第一行 #!/bin/bash 4) 变量(变量名称的开头是一个字母或下划线符号,后 ...
- Android中判断网络连接是否可用及监控网络状态
Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...