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 。 在本教程中,我们将使用一些易于理解的示例…

linux wait 信号丢失,wait函数族和SIGCHLD信号的关系

一、wait()和waitpid()函数的区别pid_t wait(int *status)进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程, wait就会收集这个子进程的信息&…

linux socket接收不到16进制数据,C下通过socket收发十六进制数据解决办法

C下通过socket收发十六进制数据系统是在LINUX下,下位机发送十六进制数据过来 上位机怎么解析 把数据以十六进制的形式显示出来,发送十六进制又如何实现------解决方案--------------------socket不就是发16进制的么------解决方案--------------------那…

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

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

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

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

c语言查找字符串au,几个C语言词汇不懂,望老鸟们相助(俺是新手哦)

几个C语言词汇 auto break case char const continue default do double else enum extern float for goto if int long registerreturn short signed几个C语言词汇 auto break case char const continue default do double else enum extern float for goto if int long regis…

c语言中 %.2s,C2S是什么意思

1. The testing result indicates that TiO_2 has mineralized effect on C_2S, at the same time flux effect on reducing low general melting point of CaO-SiO_2 system and yielding much liquid phase, TiO_2 has definite stabilized effect on β-C_2S.结果随着TiO2掺…

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

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

用英文单词模拟数字计算c语言,C语言程序设计用英文单词模拟数学计算

匿名用户1级2010-05-09 回答最后输出是用的是阿拉伯数字,这个你再改改吧, 小问题了。。。。#include #include #include #include #include int carry 0;int parse_int(const char *s, int len){char tens[10], units[10];memset(tens, 0, sizeof(tens)…

c语言猜数字游戏新建,C语言编程 如何构建一个简单的猜数字小游戏

#include//生成随机函数起点时用到time.hint main(){int number1 0, choice 0, number2 0;printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");//界面设置printf("$$$$$ 欢 迎 来 到 $$$$$\n");printf("$$$$$ 猜 数 字 …

c语言循环拆分成和,C语言拆分循环链表程序

创建一个循环链表,并将这个循环链表拆分成为两个循环链表的示例程序,将以下代码保存到一个源文件中:split_circular_linked_list.c, 如下所示 –#include #include struct node { int data; struct node *next; }; struct node *e…

pic单片机c语言读eeprom,PIC16F877单片机内部EEPROM读写实例

;PIC16F877单片机内部EEPROM读写实例****************************************************************************************; This is a program to test the function of reading&writting for EEPROM.; YouCANOBServe the value of register(30H--?) buy changin…

C语言运行gis空间叠加分析,GIS空间叠加分析与缓冲区分析.doc

《地理信息系统》报告专 业 资源环境与城乡规划管理 姓 名 成 绩班 级 学 号 日 期 2014/6/20目录TOC \o "1-2" \h \u 14469 一、题目 23290 二、设计目的27200 三、设计背景2四、设计内容27200 四、步骤与过程27200 五、专题地图 37521 四、总结分析 9题目佛山市顺德…

组件文件已损坏或android内部模块,android - Android Q更新后,模块化系统组件在托管配置文件中不可用 - 堆栈内存溢出...

在从工作配置文件配置的设备设置应用中将操作系统从Android 9升级到10后,请停止运行。java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.applications.InstalledAppDetailsTop}: java.lang.NullPoin…

android文本复制自定义剪切板,android 剪切板-文本复制、粘贴

1. 粘贴-文本保存到剪切板中ClipboardManager clipboardManager (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);//创建ClipData对象ClipData clipData ClipData.newPlainText("orderNo", txt);//添加ClipData对象到剪切板中…

android保持服务不休眠,Android开发保持屏幕常亮和CPU不休眠唤醒状态

安卓手机 APP 开发,有的时候需要屏幕长时间亮着,也就是不锁屏,这时CPU会一直处于不休眠唤醒状态。下面介绍两种方法。方法一:通过 PowerManager 实现。此种方法会在软件安装时用户可以看到屏幕选项。首先,在 AndroidMa…

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

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

android spinner位置,在Android中的Spinner中没有选择位置0

我创建了一个有三个项目的微调器日常每周每月一次我在我的java文件中执行了以下操作:navSpinner new ArrayList();navSpinner.add(new SpinnerNavItem(getResources().getString(R.string.dailyview)));navSpinner.add(new SpinnerNavItem(getResources().getStrin…

android tombstone发生过程,Android Tombstone解决步骤

这周和同事一起解了个tombstone的bug, 记录下分析的过程&#xff0c;免得以后又忘记。。。1>log的分析pid: 122, tid: 14745, name: Binder_2 >>> /system/bin/mediaserver <<<signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000058eax 00000…

优酷android手机客户端for,优酷手机客户端

优酷手机客户端官方最新版是官方出品的最新版播放软件&#xff0c;该软件上面汇聚了其他视频app上没有的精彩节目&#xff0c;全国各大精彩剧集与电影免费首播&#xff0c;更有独特高清蓝光画质播放&#xff0c;想要体验的朋友可以来欣赏一下!软件特点1、高清流畅播放2、国内外…