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的文件,以达到我 ...
随机推荐
- 示例:Socket应用之简易聊天室
在实际应用中,Server总是在指定的端口上监听是否有Client请求,一旦监听到Client请求,Server就会启动一个线程来响应该请求,而Server本身在启动完线程之后马上又进入监听状态. 示 ...
- ASP.NET#使用母版时,如果要使用js中的getElementById()方法取得某个内容页的元素时要注意的问题
当使用母版,要使用js中的getElementById()方法取得某个内容页的元素时,所选取的id并不是母版中内容页的id,而是在设计内容页时设定的id例子:母版页: ...... <head ...
- HDUOJ---2112HDU Today
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- 【LeetCode】120. Triangle (3 solutions)
Triangle Given a triangle, find the minimum path sum from top to bottom. Each step you may move to a ...
- Google C++单元测试框架之宏
一.概述 gtest中,断言的宏可以理解分为两类,一类是ASSERT系列,一类是EXPECT系列: 1.ASSERT_*系列的断言,当检查点失败时,退出当前函数(注意:并非退出当前案例) 2.EXCE ...
- RHCE7 管理II-4计划将来的Linux任务
(1) at 一次性的计划任务 语法: # at [参数] [时间] at> 执行的指令 退出at命令 ctrl+d [root@localhost ~]# at now at> mkdi ...
- java使用ssh访问Linux的项目jscraft
一.gradle地址 // https://mvnrepository.com/artifact/com.jcraft/jsch compile group: 'com.jcraft', name: ...
- jquery中常见问题及解决办法小结
1 在开发开放聊天室的过程中,遇到使用ajax提交表单插入数据库时会插入两条数据的情况 解决办法,在ajax函数返回后,return false. $("#btn").click( ...
- Android开发16——获取网络资源之基础应用
一.项目背景在Android开发中有一项非常广泛的应用:Android项目获取另一个web项目的资源或者返回的数据.本博文介绍了获取另一个web项目的资源.有一个web项目,在其WebRoot文件夹下 ...
- silverlight打开和保存文件
因为Silverlight是运行在浏览器中的客户端,所以对于程序的操作权限要求比较严格,以本篇的主题来说,一个表现就是不能够随意的进行文件打开和保存操作,如果在代码中直接使用Stream来操作文件,会 ...