• 这一篇记录 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 交叉编译记录的更多相关文章

  1. 关于qt学习的一点小记录(2)

    嗯...这次接了个单 要求图形界面,刚好可以巩固并学习下QT.毫不犹豫的就接了 下面记录下出现的问题: 1. QWidget和QDialog QDialog下的槽函数有accept()与reject( ...

  2. Windows下OpenCV 3.1.0 在 Qt Creator 4.0.2 (Qt 5.7.0 MinGW) 中的开发环境配置

    2017-2-23 Update: 修改并添加了部分细节 最近正在学习OpenCV ,为毕业设计做准备.Windows版本的OpenCV都默认提供对VS的支持,其在VS中的配置比较简单,网上也有大批教 ...

  3. Qt5.12.0交叉编译

    Qt5.12.0 交叉编译 源码配置 修改 qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 文件 MAKEFILE_GENERATOR = UNIX C ...

  4. ASP.NET Core 1.0 开发记录

    官方资料: https://github.com/dotnet/core https://docs.microsoft.com/en-us/aspnet/core https://docs.micro ...

  5. Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)

    大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...

  6. windows下Qt Creator5.1.0编写程序以及调用OpenCV库

    系统说明 最近使用opencv编写程序,程序编的差不多就学习使用QT加个界面,首先声明下本人的系统和使用的软件版本, 系统: windows xp QT IDE:QT Creator5.1.0 Ope ...

  7. 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 ...

  8. Qt on Android: Qt 5.3.0 公布,针对 Android 改进的说明

    5月20日本,Qt 官方博客宣布 Qt 5.3.0 公布! 这个版本号聚焦在性能.稳定性和可用性的提升上,与 5.1 / 5.2 相比有非常大提升. 5.3.0 的主要变化: 稳定能.可用性大大提升 ...

  9. dedecms如何修改共0页/0条记录为英文版?

    近日,在测试一个网站功能的时候,发现在搜索结果的下面为中文的“共0页/0条记录”,但客户的网站为英文版,所以我们需要将搜索的结果信息也要显示为英文,好了,我们开始动手修改dedecms的文件,以达到我 ...

随机推荐

  1. Web Service——CXF发布REST服务

    1. 什么是REST REST,英文representational state transfer(表象性状态转变)或者表述性状态转移,REST是web服务的一种架构风格,使用HTTP.URI.XML ...

  2. JS如何利用定时器实现长按事件

    本篇文章由:http://xinpure.com/js-how-to-use-timer-press-event/ JS 原生事件并没有长按事件,但是我们可以利用一些原有的事件,来实现长按事件 任务需 ...

  3. HDUOJ-------Naive and Silly Muggles

    Naive and Silly Muggles Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  4. 解决IIS动态内容压缩的问题

    转:http://www.cnblogs.com/cmt/archive/2013/03/10/iis-dynamic-dompression-mime.html

  5. Linux下su与su -命令的本质区别

    大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户.Linux中切换用户的命令是su或su -.前天我在使用us ...

  6. Python 列表 count() 方法

    描述 Python 列表 count() 方法用于统计某个元素在列表中出现的次数. 语法 count() 方法语法: L.count(obj) 参数 obj -- 列表中统计的对象. 返回值 返回元素 ...

  7. Vagrant安装指南

    ubuntu的易用性很高,安装很简单,颜值也高,但是我工作中经常使用centos,我希望我的笔记本也是centos,但是,centos颜值太低,配置文件很复杂,不想弄这个太麻烦,于是,我想到了Vagr ...

  8. 关于modelsim时序仿真的几篇文章

    1.http://wenku.baidu.com/view/386597f37c1cfad6195fa797.html 2.http://wenku.baidu.com/view/4b9521f9f7 ...

  9. maven(3)------maven构建web项目详细步骤

    eclipse集成工具,轻松通过maven构建web项目步骤如下: 一, 右键,new -->project, 进入下一页面 二,选择"Maven Project", 点击下 ...

  10. win64位操作系统下安装pl/sql developer 并登录连接到oracle12c

    1)安装Oracle 12c 64位2)安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0)下载instantclient-basic-nt-12.1 ...