在Linux中分别安装应用于不同平台的QT:PC;嵌入式X86;ARM。

这三者PC版、嵌入式X86版和ARM版的区别主要体现在:当configure时分别加了不同的参数,具体区别是:PC平台:在linux中全安装qt,用它编译好程序后,直接用“./”就可运行。

嵌入式X86平台:带有qvfb功能,在PC机上可以模拟应用程序在arm开发板上的运行情况。用此编译好的程序,只用“./”命令不可以运行,必须加上参数-qvfb -qws;

ARM平台:编译好的程序,用于在arm平台上运行。

1.系统环境

主机操作系统:ubuntu10.04

主机编译器:gcc4.4.3,

交叉编译器:arm-linux-gcc-4.3.2

2软件包:

2.1 qt源代码

qt-everywhere-opensource-src-4.6.3.tar.gz、

ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.tar.gz

2.2触摸屏校验工具

tslib-1.4.tar.gz

下载地址:

3安装交叉编译器

http://blog.csdn.net/imxiangzi/article/details/7452931

4安装触摸屏校验工具

把tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:

#tar zxvf tslib-1.4.tar.gz

执行命令cd tslib,进入tslib当前目录,接着执行命令如下:

#./autogen.sh

然后接着执行配置命令:

#./configure     --prefix=/usr/local/tslib--host=arm-linux ac_cv_func_malloc_0_nonnull=yes

最后执行编译命令和安装命令如下:

1.make

2.make install

如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。

解决:sudo apt-get install autoconf automake libtool

5.编译Qt-4.6.3库文件

5.1解压:

把qt-everywhere-opensource-src-4.6.3.tar.gz放到/opt目录下。接着执行命令如下:

1.tar zxvf qt-everywhere-opensource-src-4.6.3.tar.gz

接着把解压出来的目录重名成qt-everywhere-opensource-src-4.6.3文件复制两份,把这三份文件分别重命名为:pc,qt-embedded-4.6.3-x86 qt-embedded-4.6.3-arm

1334217838_9125.jpg

5.2编译 PC 版

进入pc目录,执行如下操作:

#./configure

# make

# make install

配置configure的时候会提问是使用什么版本,选择开源版本“o”,接受他的协议yes,下面的安装也一样。

“Which edition of Qt do you wantto use?”然后给你两个类型供选择:Type'c' if you want to use the Commercial Edition.

Type'o' if you want to use the Open Source Edition.

第一个是商业版,第二个是自由版。选择'o'(Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。这时候,出现许可界面。选择'yes'接受许可协议。开始生成makefile文件。这个大约需要5 -10分钟的时间。

安装过程比较长,由于VM默认只是一个CPU,可以调整CPU的个数和你实际的机器一致,

Make命令添加-j3参数允许多线程编译,可以加快速度,下面的编译也是一样。编译的时候可以看到占用CPU的百分比100%

编译过程中出现的问题:

A:出错:Basic XLibfunctionality test failed!

解决方法:sudo apt-get install libx11-dev  libxext-dev libxtst-dev

解决:加大swap空间

http://blog.csdn.net/imxiangzi/article/details/7453008

5.3编译嵌入式x86版

进入x86目录,执行如下操作:

# ./configure  -embedded x86-qt-gfx-qvfb    -qt-kbd-qvfb   -qt-mouse-qvfb

# make

# make install

安装过程比较长,没有碰到过错误。

编译安装PC版中的 qvfb:

进入pc/tools/qvfb/目录,执行如下操作:

#make

编译完毕,将pc/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.6.3/bin目录。

5.4编译嵌入式arm版(需要 arm-linux-gcc 的支持)

必须加上“-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm ”参数, 不然安装后不在QtEmbedded-4.6.3-arm文件夹下,而是覆盖了QtEmbedded-4.6.3。

# ./configure \

-prefix  /usr/local/Trolltech/QtEmbedded-4.6.3-arm \

-opensource \

-confirm-license \

-release -shared \

-embedded arm \

-xplatform qws/linux-arm-g++ \

-depths 16,18,24 \

-fast \

-optimized-qmake \

-pch \

-qt-sql-sqlite \

-qt-libjpeg \

-qt-zlib \

-qt-libpng \

-qt-freetype \

-little-endian  -host-little-endian \

-no-qt3support  \

-no-libtiff   -no-libmng \

-no-opengl \

-no-mmx  -no-sse  -no-sse2 \

-no-3dnow \

-no-openssl \

-no-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   -nomake  tools   -nomake docs

如果放弃配置,则使用命令:# make confclean

编译:# make

安装:# make install

安装完成后,在/usr/local/Trolltech目录中有三个文件夹:Qt-4.6.3、QtEmbedded-4.6.3、QtEmbedded-4.6.3-arm。

5.5测试qvfb

为了方便使用qvfb模拟ARM的结果,在环境中添加qvfb的路径

1.输入命令:gedit/.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容export PATH=/usr/local/Trolltech/QtEmbedded-4.6.3/bin:$PATH

2.重启,测试是否加入成功

echo $PATH看是否显示刚才添加的路径

3.测试

命令:#qvfb -width 800 -height 480 &

其中&表示后台运行。

1334217850_2193.jpg

将会出现界面

1334217855_1551.jpg

表示qvfb启动成功

====================================================================

主要参考:

1.QT嵌入式环境搭建与移植

http://blog.chinaunix.net/uid-26119896-id-3141782.html

2.Linux下实现Qt 4.6.3移植Ubuntu10.10篇

http://blog.csdn.net/defonds/article/details/4941746

3.Linux 下编译并安装配置 Qt 全过程

http://mobile.51cto.com/symbian-273308.htm

linux 安装qt 4.6软件,QT学习之一:Linux下安装QT之版本qt-4.6.3相关推荐

  1. linux notepad 安装教程,Ubuntu 15.04/14.10/14.04下安装和卸载Notepad++(notepadqq)

    Ubuntu下的Notepad++也就是notepadqq,比较适合刚从Windows平台转移到Linux平台的用户使用,如果你一直在Windows下使用的是nodepad++,那么推荐你在Linux ...

  2. 软件管家出错的情况下安装keil5

    软件管家出错的情况下安装keil5 1.按照管家的步骤出错了 1.按照管家的步骤出错了 我之前下过好几次keil,就这次出现问题了,这是按照管家的做法. 而我这次却出错了 于是我只好在官网上下载了,选 ...

  3. 红旗Linux藏文操作系统填补软件数字鸿沟红旗linux操作系统

    2008年8月20日消息,由中科红旗.中科院.及相关部门联合开发的Linux藏文操作系统通过信息产业部科技鉴定,达到同类产品技术的国际先进水平.目前已经正式向用户. 基于Linux的藏文操作系统研发项 ...

  4. QT:(2)Window10、VS15下安装qt5.12.8

    双击下载的qt5.12.8安装包,一步步安装即可. 1.注册和安装(用自己的邮箱注册设置一下密码,之后会收到邮件按照邮件中的网址激活一下即可) 1.1完成之后,跳到下一个界面,同意一下开源软件的条款, ...

  5. linux使用读mysql脚本,【mysql学习】linux安装mysql,使用install脚本方式 (二)

    [mysql学习]linux安装mysql,使用install脚本方式 (二) 发布时间:2020-04-06 20:51:12 来源:51CTO 阅读:1092 作者:浮尔魔司 本文介绍Linux下 ...

  6. ubuntu安装eclipse java环境变量配置_【Linux学习】Ubuntu下安装JDK以及配置环境,和eclipse的下载...

    OpenJDK 还是 SunJDK? 由于刚开始接触Linux,所以在搜索如何安装jdk的问题上,有了不同的说法,其中有一种安装是直接安装OpenJDK,还有一种方法下载官方网站的SunJDK,那么两 ...

  7. linux 室内设计软件,功能强大!Ubuntu下安装最新免费3D室内设计软件

    原标题:功能强大!Ubuntu下安装最新免费3D室内设计软件 来自:Linux迷https://www.linuxmi.com/sweet-home-3d-6-4.html 免费3D室内设计软件Swe ...

  8. adaptec raid linux,adaptec raid 卡管理软件在windows和linux下的安装使用介绍.doc

    adaptec raid 卡管理软件在windows和linux下的安装使用文档 1.adaptec raid卡的管理软件在windows下安装后的运行界面如下图: 2.单击左栏中的direct at ...

  9. 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法

    在Deepin系统下安装LibreOffice 6.4.1版本的方法 使用的是Deepin系统,从深度应用商店看到有LibreOffice,安装了一下,发现ui是真的丑,就像是十年前的xp那样,记得前 ...

  10. linux装nvidia驱动没有图形界面,[转]Fedora 13下安装Nvidia显卡驱动的方法/Linux无法进入X Windows 图形界面的解决方法...

    再试一试这个方法:[转自]http://www.myexception.cn/image/505352.html VirtualBox3.1.2安装Fedora12后无法启动图形界面问题 Virtua ...

最新文章

  1. 分类模型的评估方法-精确率(Precision)
  2. c语言pID程序怎么设计,51单片机PID的算法实现程序C语言
  3. Lua源码分析 - 基础篇 - Lua源码的结构和架构图(01)
  4. 栈空间和堆空间的区别
  5. Jodd 工具包之StringUtil
  6. 信号signal()、alarm()、信号集函数、sigprocmask()
  7. 模糊PID控制在自动光电整纬装置中的应用
  8. iOS开发之项目经验总结
  9. 6.3 tensorflow2实现FM推荐系统——Python实战
  10. 【libjpeg-turbo】安装指南[mac版]
  11. 如何使用微软官方工具MediaCreationTool来制作Windows10启动盘
  12. 拆弹实验-phase_2
  13. 电工/模电/数电/电气控制/PLC/单片机综合实验装置
  14. bugzilla安装
  15. 北斗短报文通信原理及功能介绍
  16. ② 判断语句、循环语句
  17. 聚合微服务中的 Swagger API 文档
  18. printf与fprintf函数的区别
  19. php ws聊天,php+websocket实现在线聊天室
  20. 《Spring实战》读书笔记-第4章 面向切面的Spring

热门文章

  1. 基于 vue 的验证码组件
  2. Java-IO流之BufferedReader 和BufferedWriter的使用和原理
  3. [python]-数据科学库Numpy学习
  4. 题目1457:非常可乐(广度优先遍历BFS)
  5. 垂直居中-父元素高度确定的多行文本(方法二)
  6. SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
  7. Tornado/Python 学习笔记(一)
  8. More Effective C++ (运算符)
  9. curd操作php代码,Laravel 5.6中的CURD操作(代码示例详解)
  10. java比较时间sql_如何正确比较日期 java.sql.Date