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

在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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux kill命令使用方法,Linux初学者的killall命令(8个例子)

Linux初学者的killall命令(8个例子)我们已经讨论了kill命令 ,如果你想在Linux中终止进程,你可以使用kill命令 。 但是,还有一个命令行实用程序可以用于相同的目的: killall 。 在本教程中,我们将使用一些易于理解的示例…

c语言 字符串 url,如何对URL字符串进行百分号编码

在和web服务进行交互时,我们经常需要对URL中的特定字符和传输的表单数据进行百分号编码。例如,’&’在百分号编码时会变成’%26’。搞清楚 URL中哪部分的哪些字符应该进行百分号编码了并不是件易事。最好的资料好像是RFC 3986和W3C HTML5。出于兴趣和…

击鼓传花击鼓次数相同c语言,JavaScript 实现击鼓传花游戏

大家小时候应该都玩过击鼓传花(Hot Potato)的游戏吧!一群小孩围成一个圆圈,把花尽快的传给旁边的人。某一时刻传花停止,这时花在谁手里,谁就退出圆圈结束游戏。重复此过程,直到剩下最后一个孩子,即为胜者。…

前端的c语言面试题,前端工程师面试题汇总(选择题)

前端工程师面试题汇总(选择题)时间:2017-12-05 来源:前端工程师面试题推荐作为一名前端工程师,我们必不可少的就是参加面试,面试过程中会遇到各类奇葩的问题,今天小编为大家汇总了一些相关的问题,希望可…

android 磁场传感器 罗盘,Android开发获取重力加速度和磁场强度的方法

本文实例讲述了Android开发获取重力加速度和磁场强度的方法。分享给大家供大家参考,具体如下:Android获取重力加速度和磁场强度主要依靠:Sensor.getRotationMatrix (float[] R, float[] I, float[] gravity, float[] geomagnetic)输入数据&am…

html在线编辑器 asp.net,ASP.NET网站使用Kindeditor富文本编辑器配置步骤

1. 下载编辑器下载 KindEditor 最新版本,下载页面: http://www.kindsoft.net/down.php2. 部署编辑器解压 kindeditor-x.x.x.zip 文件,将editor文件夹复制到web目录下3、在网页中加入(ValidateRequest"false")4、引入脚本文件(XXX部分需要修改)…

html中通过定位 实现下拉,JS+CSS相对定位实现的下拉菜单

本文实例讲述了JSCSS相对定位实现的下拉菜单。分享给大家供大家参考。具体如下:这里使用的是相对定位,不过效果还可以,用时候再修整一下,这个只是实现了大概功能,还有许多细节没有修饰。运行效果截图如下:在…

html页面包含头文件,Web前端技术:HTML部分---Head标签中包含的头文件标签,body标签包含的内部标签...

1、Head标签中包含的 头文件标签的作用:(1)title标签:定义网页的标题。(2)meta标签:一般用于定义页面的特殊信息,例如页面的关键字、页面描述等(3)link标签:用于引入外部样式文件(CSS 文件)。(4)style标签:…

HTML如何做个播放器图表,Web绘图神器之ECharts-ts文件播放器

前言最近在做一个项目需要用到大量的图形报表来展示数据。就去对比了一些前端图形报表框架,有Highcharts、Echarts、Three.js。发现Three.js比较笨重,不太适合数据展示,做前端动画还是比较好。而highcharts、echarts比较轻量级拿来就用比较方…

计算机网络原码反码补码,计算机的原码和反码及补码到底是什么

数据在计算机里面都是以0和1存储和运算的,这是冯诺依曼体系的基础。比如一个数在计算机中若有正负之分,则用一个数的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。原码就是整数绝对值的二进制形式,为了解…

关于计算机应用基础问题,《计算机应用基础》习题及问题详解

《计算机应用基础》习题及问题详解 (17页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.90 积分实用文档第一章 计算机基础知识填空题:1. 信息技术在现代工业工程中的应用十分广泛&…

计算机网络安全本科大学排名,2021网络工程专业大学排名 最好大学排行榜

2021网络工程专业大学排名 最好大学排行榜2021-06-11 19:35:09文/丁雪竹网络工程专业在全国最好的大学是哪几所呢,最好的大学排名是什么样呢,小编整理网络工程专业大学最好大学排行榜,仅供参考!网络工程专业最好大学排行榜在网络工…

20线程测试cpu性能软件,评测平台介绍、CPU多线程性能测试

2、平台介绍及CPU性能测试AMD AM3平台CPUAMD FX-8150(4模块/8核)AMD FX-8350(4模块/8核)主板华硕 Crosshair V Formula(BIOS版本:1605)Intel LGA1155平台CPUIntel Core i5 3570K(4核/4线程)Intel Core i7 3770K(4核/8线程)主板华硕 P8Z77-V Deluxe共用配件硬盘主盘&…

大型网站服务器 pdf,大型网站服务器容量规划[PDF][145.25MB]

内容简介内 容 提 要本书讲解了用数学回归分析方法来做服务器容量规划的思路,让读者掌握服务器容量规划的量化方法;模型的选择是服务器容量规划的关键,不同的程序有不同的模型。本书使用nginxPHPMySQL为实例演示了具体的规划过程,…

穿越火线全部服务器都显示爆满,穿越火线大区全部爆满,频道挤不进去背后的故事!...

大家好我是小包子,穿越火线经历了十一周年,盛典游戏更新后,我们发现游戏基本上所有大区都呈现爆满的盛世。我们热爱的穿越火线又回来了吗?6月小包子曾爆料CF启动量超过吃鸡跃居第二,射击游戏第一,重回巅峰的…

服务器加根网线用不用修改路由器,安装设置无线路由器需要用几根网线?

“安装设置无线路由器需要用几根网线?看到网上安装设置路由器的教程,有的说需要两根网线,有的说需要一根网线,请问到底应该使用一根还是两根呢?”其实这个问题的答案并不是唯一的,使用一根还是两根&#xf…

大数运算#

大数,就是C/C中利用基本类型所不能存储的数字,少则数十位,大则几万位,如何存储和计算大数就是本文的内容。 在C和C中,没有存储大数的数据结构,就算 unsigned long long也只能表示19位的数字  如果我们用d…

linux之缓冲区

行缓冲。在这种情况下,当在输入和输出中遇到换行符时,标准I/O库执行I/O操作。这允许我们一次输出一个字符,但只有在写了一行之后才进行实际I/O操作。当流涉及一个终端时,通常使用行缓冲。 第一个例子:(he…

linux之地址空间

程序:一组指令的有效集合。它是静态的,不具有任何的运行意义。程序最终转换为二进制文件。 进程:程序的执行就是进程。可以把它看成独立的程序,在内存中有其对应的代码空间和数据空间。一个进程所拥有的数据和代码只属于自己。进…

C语言随机数生成超详解

1.首先来看一段简单的代码 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h>int main(void) {int i;printf(" %6d\n", rand());system("pause"); }printf(" %6d\n", rand());sys…