Qt的移植包括步骤如下:

1、下载并安装VMware WorkStation 12(最好比较高级的版本,早期的版本共享目录在虚拟机里可能显 示不了)。

2、下载ubuntu 14.0.4(最好是lts版本,免去要自己去安装g++等一些需要的软件)。

3、创建虚拟机并开启root用户

  • 按下Ctrl+Alt+T组合键打开终端命令窗口,输入并执行sudo  passwd  root,设置root用户密码。
  • 进入目录/usr/share/lightdm/lightdm.conf.d,打开50-unity-greeter.conf文件,在后面追加以下内容并保存,重启后就可以选择以root用户登录了。

  user-session=ubuntu
  greeter-show-manual-login=true
  all-guest=false

4、环境准备

  • 安装automake、libtool 和主机上的Qt工具
  $ sudo apt-get install automake autoconf libtool m4
  $ sudo apt-get install libX11-dev libXext-dev libXtst-dev libXrender-dev
  $ sudo apt-get install libqt4-core libqt4-dev libqt4-webkit qt4-demos
  • 安装交叉编译器

  将交叉编译器压缩包(gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2)放在/opt目录下,并解压在此处(arm-linux-gnueabihf),编译/etc/profile文件加入

  交叉编译器路径(export PATH=/opt/arm-linux-gnueabihf/bin:$PATH)。

  • 重启虚拟机,使环境变量生效,使用命令arm-linux-gnueabihf-gcc -v 检查环境是否生效。

5、下载tslib和Qt

6、编译安装tslib

  • 新建目录/opt/qt-4.7.2-arm,tslib和qt都会安装在该目录(很多arm板都只开放opt目录,安装这这里,以后移到arm板上比较方便)。
  • 解压tslib,解压后为tslib-master。
  • 编译安装tslib

  $ cd tslib-master

  $ ./autogen.sh

  $ ./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --host=arm-linux-gnueabihf  --prefix=/opt/qt-4.7.2-arm ac_cv_func_malloc_0_nonnull=yes

  $ make

  $ sudo make install

  完成后,tslib会按安装到主机/opt/qt-4.7.2-arm 目录下。
  进入下一步之前,先将主机中 //opt/qt-4.7.2-arm/etc/ts.conf 文件第二行“#module_raw input”的注释去掉,变为“module_raw input”,注意一定要顶格。

7、编译安装qt

  • 解压qt-everywhere-opensource-src-4.7.2.tar.gz到/op目录下,重命名为qt-opensource-src.4.7.2。
  • 在qt-opensource-src.4.7.2/mkspace/qws目录将linux-arm-g++拷贝一份并重命名为linux-am335x-g++。
  • 进入linux-am335x-g++文件夹,修改qmake.conf文件内容

  #

  # qmake configuration for building with arm-linux-g++

  #

  include(../../common/g++.conf)

  include(../../common/linux.conf)
  include(../../common/qws.conf)

  # modifications to g++.conf
  QMAKE_INCDIR = /opt/qt-4.7.2-arm/include

  QMAKE_LIBDIR  = /opt/qt-4.7.2-arm/lib

  QMAKE_CC = arm-linux-gnueabihf-gcc -lts
  QMAKE_CXX = arm-linux-gnueabihf-g++ -lts
  QMAKE_LINK = arm-linux-gnueabihf-g++ -lts
  QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ -lts

  # modifications to linux.conf
  QMAKE_AR = arm-linux-gnueabihf-ar cqs
  QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
  QMAKE_STRIP = arm-linux-gnueabihf-strip

  load(qt_config)

  • 配置Qt

  ./configure -opensource -embedded armv7 -xplatform qws/linux-am335x-g++ --prefix=/opt/qt-4.7.2-arm -no-cups -nomake examples -nomake demos -qt-zlib -qt-libjpeg -qt-libmng -qt-libpng -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -no-gfx-qvfb -qt-gfx-vnc -qt-gfx-multiscreen -qt-kbd-tty -qt-mouse-tslib -no-openssl -no-phonon -no-phonon-backend -no-nas-sound -no-exceptions -svg -no-webkit -no-qt3support -no-multimedia -no-xmlpatterns  -DQT_QLOCALE_USES_FCVT -DQT_NO_QWS_CURSOR -no-pch -I/opt/qt-4.7.2-arm/include -L/opt/qt-4.7.2-arm/lib -confirm-license

  make

  make install

  完成后,qt4.7.2会安装到主机/opt/qt-4.7.2-arm目录下。

  • 设置环境变量,编辑/etc/profile文件,在最后添加如下内容

  export PATH=/opt/arm-linux-gnueabihf/bin:$PATH

  export TSLIB_ROOT=/opt/4.7.2

  export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf

  export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts

  export LD_LIBRARY_PATH=$TSLIB_ROOT/lib

  说明:

  1、 -embedded armv7:armv7是arm芯片的架构(arm9对应armv5,arm11对应armv6,cortex-a8和cortex-a9对应armv7)

8、安装QT Creator 2.2.0,并设置

9、移植Qt到开发板

将/opt/qt-4.7.2-arm文件夹压缩后,拷贝到开发板/opt目录下再解压,在/etc/profile文件里配置环境

export QTDIR=/opt/qt-4.7.2-arm

export LD_LIBRARY_PATH/$QTDIR/lib;$LD_LIBRARY_PATH

export QT_QWS_FONTDIR=$QTDIR/lib/fonts

export QWS_SIZE=800x400

export QWS_DISPLAY=LinuxFb:/dev/fb0(这个根据开发板而定)

export QWS_MOUSE_PROTO=Tslib:/dev/input/mice(这个根据开发板而定)

Qt 4.7.2移植到ARM教程的更多相关文章

  1. GoAhead2.5移植到ARM教程

    1.下载GoAhead2.5 下载地址:https://github.com/embedthis/goahead/releases?after=v3.1.2 2.编译 先解压到虚拟机的/opt目录下, ...

  2. 【Linux开发】【Qt开发】ARM QT移植详细步骤教程

    ARM QT移植详细步骤教程 米尔SAM9X5和A5D3X上默认的Qt版本是4.5.3,当这个版本的Qt库不能满足实际开发需求时,可通过此方法制定Qt开发.运行环境. 移植的步骤如下: 1.下载新版q ...

  3. iTOP-4412开发板-实战教程-ssh服务器移植到arm开发板

    本文转自迅为开发板:http://www.topeetboard.com 在前面实战教程中,移植了“串口文件传输工具”,整个移植过程是比较简单的,而且我 们没有做任何协议方面的了解,只是“配置”+“编 ...

  4. iTOP-IMX6UL 实战项目:ssh 服务器移植到 arm 开发板

    实验环境:迅为提供的Ubuntu12.04.2 以及虚拟机 编译器:arm-2009q3 编译器 开发板系统:QT系统   开发板使用手册中给Windows 系统安装了 ssh 客户端,给 Ubunt ...

  5. 将SQLite移植到ARM板上 (转)

    SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它, 它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够 ...

  6. 怎样将lua移植到arm平台的linux内核

    将脚本移植到内核是一件非常酷的事情,lua已经被移植到NetBSD的内核中,也有一个叫lunatik的项目把lua移植到了linux内核.仅仅可惜仅仅支持x86.不支持arm,在网上搜索了下,没有找到 ...

  7. SQL数据库移植到ARM板步骤

    SQL作为一种存储数据的数据结构,具有体积小(能堵存储的数据多),容易移植等优点.例如,在Ubuntu或者ARM开发板上被大量应用.下面就简单说一下SQL移植到ARM板的步骤. 下载源代码 (记得在家 ...

  8. Qt5.4.1移植到arm——Linuxfb篇

    Qt5与Qt4对比有很大的改变,其最大的特性在于模块化,并且很明显的是不再见到Qt4用到的qws,Qt5新增了QPA系统,基于QPA使得Qt5移 植到一个新平台非常简单而又具有极强的底层扩展能力:同时 ...

  9. linux编译Qt+mysql驱动+可执行文件移植目标机

    前言: 如果希望自己的Qt/C++程序在目标机上运行,最简单的方法就是在目标机上安装一个Qtcreater[Qtxxx.run],然后编译release的可执行文件,直接拉起即可. 但是有些环境情况比 ...

随机推荐

  1. bash脚本里su命令执行

    俩种方法 1.可以使用 <<EOF 参数实现. 脚本内容:cat test.sh代码如下: #!/bin/bashsu - test <<EOFpwd;exit;EOF 2.当 ...

  2. 五、springboot单元测试

    1.为什么要写测试用例 1. 可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率 2. 可以自动测试,可以在项目打包前进行测试校验 3. 可以及时发现因为修改代码导致新的问题的出现,并及时解决 ...

  3. python3 安装

    Centos7 安装python3 #安装sqlite-devel yum -y install sqlite-devel #安装依赖 yum -y install make zlib zlib-de ...

  4. elasticsearch学习笔记--原理介绍

    前言:上一篇中我们对ES有了一个比较大概的概念,知道它是什么,干什么用的,今天给大家主要讲一下他的工作原理 介绍:ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户 ...

  5. CCF CSP 201403-2 窗口

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-2 窗口 问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标 ...

  6. 【LOJ】#2443. 「NOI2011」智能车比赛

    题解 显然是个\(n^2\)的dp 我们要找每个点不穿过非赛道区域能到达哪些区域的交点 可以通过控制两条向量负责最靠下的上边界,和最靠上的下边界,检查当前点在不在这两条向量之间即可,对于每个点可以\( ...

  7. 分享实用的JavaScript代码库

    1 var keyCodeMap = { 2 8: 'Backspace', 3 9: 'Tab', 4 13: 'Enter', 5 16: 'Shift', 6 17: 'Ctrl', 7 18: ...

  8. 8-13 Just Finish it up uva11093

    题意:环形跑道上有n n<=100000 个加油站  编号为1-n  第i个加油站可以加油pi加仑   从加油站i开到下一站需要qi加仑   你可以选择一个加油站作为起点 初始油箱为空   如果 ...

  9. Kotlin in Action 笔记

    Kotlin 参考 官网 reference kotlin实战 Try Kotlin Kotlin China Github 简介 Kotlin是一门把Java平台作为目标的新的编程语言.它简洁.安全 ...

  10. spring 装配bean的三种方式

    这段时间在学习Spring,依赖注入DI和面向切面编程AOP是Spring框架最核心的部分.这次主要是总结依赖注入的bean的装配方式. 什么是依赖注入呢?也可以称为控制反转,简单的来说,一般完成稍微 ...