这两天搞了Qt移植 因为不小心 耽误了挺多时间 但是也比较好的掌握了   现在记录一下

准备工具: tslib-1.16    qt-everywhere-opensource-src-4.8.5.tar     qtcreator

下载路径:

tslib-1.16下载:                                                     https://github.com/kergoth/tslib/releases/download/1.16/tslib-1.16.tar.bz2

Qtqt-everywhere-opensource-src-4.8.5.tar下载:  http://download.qt.io/archive/qt/

Qt creator下载:                                                      http://download.qt.io/archive/qtcreator/

tslib 的移植

解压 tslib.

进入 tslib 源代码目录
    创建 out 目录,或者其他的目录名字用于安装的            注意: 这个文件名很重要      后面都要用到
运行 autogen.sh
    ./autogen.sh
写一个配置的脚本
   mygen.sh

#!/bin/sh
./configure \
--prefix=/xxxx \
--host=arm-linux-gnueabihf

xxx为想要安装的路径

给这个配置脚本加一个权限

chmod +x mygen.sh

运行这个脚本

    ./mygen.sh

编译

   make && make install

生成的库在 out 文件夹下面

bin etc include lib share

Qt 交叉编译

  • 将 Qt 源码放入 Ubuntu 虚拟机,并解压。
  tar -xvf qt-everywhere-opensource-src-4.8.5.tar.gz
cd qt-everywhere-opensource-src-4.8.5/
  • 复制一份配置文件
  cp mkspecs/qws/linux-arm-gnueabi-g++/  mkspecs/qws/linux-arm-gnueabihf-g++/ -rf
  • 修改该配置文件 mkspecs/qws/linux-arm-gnueabihf-g++/qmake.conf
#
# qmake configuration for building with arm-none-linux-gnueabi-g++
# include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf) # modifications to g++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ # modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_STRIP = arm-linux-gnueabihf-strip QMAKE_INCDIR = /tslib安装的而绝对路径/include
QMAKE_LIBDIR = /tslib安装的而绝对路径/lib load(qt_config)
# 上面这两条是 tslib 库的位置 load(qt_config)

 注意:一定要看清楚里面  要一样的才行  arm-linux-gnueabihf-xxxx

在 mkspecs/common/linux.conf 中 QMAKE_LIBS_THREAD    这一行加入 -lts
  QMAKE_LIBS_THREAD     = -lpthread -lts

  • 家目录创建一个 qtlib 目录
  mkdir ~/qtlib
  • 在 Qt4.8.5 源码目录创建 config.sh 配置脚本  编辑一下内容
#!/bin/sh
./configure \
-opensource \
-prefix /想要安装的路径 \
-confirm-license \
-release \
-shared \
-embedded arm \
-force-pkg-config \
-xplatform qws/linux-arm-gnueabihf-g++ \
-depths 16,18,24,32 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian -host-little-endian \
-no-qt3support \
-qt-libtiff -qt-libmng \
-make translations \
-qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen \
-no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput \
-no-kbd-qvfb -armfpa \
-no-mouse-qvfb \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-webkit \
-no-qvfb \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -make tools -nomake docs \
-qt-mouse-tslib -DQT_QLOCALE_USES_FCVT \
-I/xxx安装tslib的时候创建的文件夹的绝对路径 里面有include文件夹xxx\include \
-L/xxx安装tslib的时候创建的文件夹的绝对路径 里面有lib文件夹xxx/lib \
-no-pch

  

  • 给它加一个执行权限,并执行
  chmod +x config.sh && ./config.sh
  • 执行编译并安装
  make -j4 && make install

  编译的时候最终会在atlib文件夹下生成如下文件
  ls ~/qtlib/
bin imports include lib mkspecs phrasebooks plugins 到这里qt交叉编译已经安装完成

Qtcreator 安装及环境配置

  • 下载完之后,将这个文件放到 Ubuntu 虚拟机里面,加一个执行权限,并运行。
  chmod +x qt-creator-linux-x86_64-opensource-2.8.1.run && ./qt-creator-linux-x86_64-opensource-2.8.1.run
  • 安装完毕打开 qtcreator 

  • 配置交叉编译器

  • 进入 Tools->Options 

  • 配置 qmake。

    • 进入 Tools->Options 
  • 配置 qkit

    • 进入 Tools->Options 
  • 配置完毕,选择 Apply, OK

  • 打开一个例程,进行编译,KIt Selection 的时候要选择 arm2

以上参考:https://www.cnblogs.com/chenfulin5/p/6958560.html

 

Qt4.8.5移植的更多相关文章

  1. iTOP-4412开发板qt4文件的移植和修改

    在 7.4 小节介绍配置文件的时候,提到迅为制作的触摸库文件“/usr/local/tslib”,迅为 已经将触摸功能编译到 Qt/E4.7.1 的库文件中,开发板可以支持触摸和鼠标功能. 用户在前面 ...

  2. FS210开发板上Qt4.7.0移植过程

    作者:冯老师,华清远见嵌入式学院讲师. 1. 搭建Qt开发环境平台 1.开发环境:ubuntu 12.04 2.交叉编译链:arm-cortex_a8-linux-gnueabi 3.开发板:FS21 ...

  3. 由Qt4.x项目移植到Qt5.x需要注意的事项

    The Transition from Qt 4.x to Qt 5 The transition from Qt 4.x to Qt 5 is not expected to be signific ...

  4. QT4.5.3移植到hi3536

    QT版本:qt-embedded-linux-opensource-src-4.5.31.添加交叉编译(1)copy qt-embedded-linux-opensource-src-4.5.3/mk ...

  5. 海思QT4.8.0开发总结

    1.QT4.8.0移植 2.QT4.8.0界面的透明度设置 发现设置空间透明度时候,QT显示的绿色的背景,没有透明!设置如下: 在程序起始的地方设置: hisi_init(); QWSServer:: ...

  6. tiny4412移植opencv2.4.7手记

    在买了新的4412板子后.打算趁着刚成功在6410上移植过的经验,速度解决下.不想出现了各种问题.小结下: 1.关于opencv的移植: tiny4412的linux3.5上,须要把opencv的li ...

  7. Qt工具知多少(一目了然)

    一级题目: Qt Designer — 所见即所得的界面设计工具, 可以用拖拽的方式将控件排布在界面上,支持layout, 支持signal/slot编辑. 生成的文件保存为ui格式, ui是xml格 ...

  8. 【Qt】测测你对Qt的了解–Qt工具知多少

      原文:http://blog.163.com/lijiji_1515/blog/static/1268774462009103101944455/   你知道Qt都提供了哪些工具吗? 你知道Qt的 ...

  9. centos qt5,PyQt5 installation

    一.SIP http://www.riverbankcomputing.com/software/sip/download   二.Centos6.5 qt 安装 1,centos linux系统必须 ...

随机推荐

  1. javascript总结20: 前端必读,浏览器内部工作原理(转)

    目录 一.介绍 二.渲染引擎 三.解析与DOM树构建 四.渲染树构建 五.布局 六.绘制 七.动态变化 八.渲染引擎的线程 九.CSS2可视模型 英文原文:How Browsers Work: Beh ...

  2. RollingFileAppender

    http://logback.qos.ch/manual/appenders.html#RollingFileAppender 1.基于时间的滚动策略 TimeBasedRollingPolicy 就 ...

  3. Exception (2) Java Exception Handling

    The Java programming language uses exceptions to handle errors and other exceptional events.An excep ...

  4. 使用JavaScript获取CSS伪元素属性

    我们可以通过DOM元素的 style 属性获取基本的CSS样式值, 但怎么获取CSS伪元素属性呢? 如下 // 获取 .element:before 的 color 值 var color = win ...

  5. poj—1753 (DFS+枚举)

                                                                                                        ...

  6. XJOI 3629 非严格次小生成树(pqq的礼物)

    题目描述: 有一天,pqq准备去给×i×准备礼物,他有一些礼品准备包装一下,他用线将这些礼物连在一起,不同的礼物因为风格不同所以连接它们需要不同价值的线.风格差异越大,价格越大(所以两个礼物之间只有一 ...

  7. BZOJ 3884 上帝与集合的正确用法(扩展欧拉定理)

    Description   根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”.“α”被定义为“ ...

  8. TSQL--SORT MERGE JOIN

    算法:对两表排序,然后对两表依次扫描,找到符合条件的结果集 sort(T1); seort(T2); int k=0;--for T1 index int m=0;--for T2 index whi ...

  9. 纸壳CMS(ZKEACMS)体验升级,快速创建页面,直接在页面中修改内容

    关于纸壳CMS 纸壳CMS又名 ZKEACMS Core 是ZKEACMS的 .net core 版本,可运行在 .net core 1.1 平台上.是一个开源的CMS. 纸壳CMS对于 ZKEACM ...

  10. HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting

    Brute Force Sorting Time Limit: 1 Sec  Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...