LINUX下QT FOR ARM开发环境搭建过程 (使用qt-x11-opensource-src-4.5.2.tar.gz进行编译)
在PC上,我们需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm。前者包括了Qt Designer等基本工具,用于在PC上对程序的开发调试,使我们能确保程序放到板子上之前就符合设计的要求;然后我们用后者的库将调试好的程序编译成能在arm-linux平台上运行的程序。
Qt-4.5.2我们用从网上下载到的qt-x11-opensource-src-4.5.2.tar.gz编译后安装得到;QtEmbedded-4.5.2-arm我们用qt-embedded-linux-opensource-src-4.5.2.tar.gz编译后安装得到,qt-embedded-linux-opensource-src-4.5.2.tar.gz还可以编译成QtEmbedded-4.5.2-X86,但我们不需要。在编译qt-embedded-linux-opensource-src-4.5.2.tar.gz之前,我们必须准备好arm-linux-gcc交叉编译工具,我用的是arm-linux-gcc-3.4.1。
所以我们先要准备好的软件包有:
1. qt-x11-opensource-src-4.5.2.tar.gz;
2. qt-embedded-linux-opensource-src-4.5.2.tar.gz;
3. arm-linux-gcc-3.4.1.tar.bz2
Pc的操作系统是:LINUX-ubuntu8.04。下面是我的具体编译安装过程:
(一) Qt-4.5.2的获得:
将qt-x11-opensource-src-4.5.2.tar.gz复制到目录:/home/chh/Project/qt,然后解压:
#tar zxvf qt-x11-opensource-src-4.5.2.tar.gz
得到一个新目录:qt-x11-opensource-src-4.5.2
cd进入这个目录,准备开始编译。
在终端中这样操作:
#./configure –qvfb //编译配置,此过程大概历时几分钟;
#make //正式编译,过程漫长,大概2个多小时;
#cd tools/qvfb //进入此目录,准备对它进行编译
#make //编译,几分钟
#cd ../.. //回到qt-x11-opensource-src-4.5.2主目录,准备安装
#make install //安装,十几分钟吧;此步必须以root身份完成,否则无法建立目录
以上过程完成后,我们可以在/usr/local/下看到一个Trolltech目录,进入该目录发现Qt-4.5.2
目录已经出现,进入里面的bin目录,Designer等工具已经可以使用了。编译过程相当费时,所以可以
直接拷贝已经编译过的源码,直接make install。
至此,Qt-4.5.2的安装已经顺利完成。
(二) QtEmbedded-4.5.2-arm的获得:
在编译安装qt-embedded-linux-opensource-src-4.5.2之前,必须先配置好arm-linux-gcc,
将arm-linux-gcc-3.4.1.tar.bz2解压到目录:/usr/local下,此时local下出现一个名为arm的目录,然后配置好环境变量:在/etc/profile添加一句:export PATH=$PATH:/usr/local/arm/3.4.1/bin,保存后#source /etc/profile一下,让它即时生效。 否则下面的编译过程会提示找不到arm-linux-gcc命令。 现在可以开始编译了:
将qt-embedded-linux-opensource-src-4.5.2.tar.gz复制到目录:/home/chh/Project/qt, 然后解压:#tar zxvf qt-embedded-linux-opensource-src.tar.gz, 得到新目录qt-embedded-linux-opensource-src-4.5.2。
进入qt-embedded-linux-opensource-src-4.5.2目录,首先进行configure。 这里的参数很重要,必不可少的是-embedded arm,所以最简单的配置信息可以这样:
./configure \
-embedded arm
然后回车,就开始configure了,我的参数设置和参考文章一样,裁减了很多,减少了编译时间:
./configure \
-release \
-shared \
-fast \
-no-largefile \
-qt-sql-sqlite \
-no-qt3support \
-no-xmlpatterns \
-no-mmx \
-no-3dnow \
-no-sse \
-no-sse2 \
-no-svg \
-no-webkit \
-qt-zlib \
-qt-gif \
-qt-libtiff \
-qt-libpng \
-qt-libmng \
-qt-libjpeg \
-make libs \
-xplatform qws/linux-arm-g++ \
-nomake tools \
-nomake examples \
-nomake docs \
-nomake demo \
-no-nis \
-no-cups \
-no-iconv \
-no-dbus \
-no-openssl \
-embedded arm \
-little-endian \
-qt-freetype \
-depths 16,18 \
-qt-gfx-linuxfb \
-no-gfx-transformed \
-no-gfx-multiscreen \
-no-gfx-vnc \
-no-gfx-qvfb \
-qt-kbd-usb \
-no-glib
之后就可以编译了,#make,漫长等待后再 #make install。Make install还是需要root权限。
完成后,在/usr/local/Trolltech下多了一个目录:QtEmbedded-4.5.2-arm。
http://iwanttobe09.blog.163.com/blog/static/13178730520091041349207/
LINUX下QT FOR ARM开发环境搭建过程 (使用qt-x11-opensource-src-4.5.2.tar.gz进行编译)的更多相关文章
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- 基于全志H3芯片的ARM开发环境搭建
基于全志H3芯片的ARM开发环境搭建 最近买了个友善之臂的NanoPi M1板子,又在网上申请了个NanoPi NEO板子,这两个都是基于全志H3芯片的Crotex-A7四核ARM开发板,两个板子可以 ...
- QT树莓派交叉编译开发环境搭建
QT树莓派交叉编译开发环境搭建 - JerryZone <Cross-compiling Qt Embedded 5.5 for Raspberry Pi 2> <Qt for Em ...
- mac10.9下eclipse的storm开发环境搭建
--------------------------------------- 博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1& ...
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
- linux下怎么安装Go开发环境?linux部署golang
linux下怎么安装Go开发环境?linux部署golang 0.请自行安装SSH远程工具 1. SSH远程登录你的linux服务器 2. yum install mercurial安装 me ...
- Linux下MySQL/MariaDB Galera集群搭建过程【转】
MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...
- Windows10系统下Hadoop和Hive开发环境搭建填坑指南
前提 笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了 ...
随机推荐
- CentOS 挂载iso文件配置yum源
1.挂载iso 准备好centos的光盘镜像 挂载前的准备; mkdir -p /dev/centos mkdir -p /mnt/local_yum 挂载 mount -o loop /opt/s ...
- android studio中文乱码各种情况的解决办法
情况一:编辑器内的中文注释乱码. 解决办法:在界面的右下角找到 UTF-8 ,单击之,在弹出的列表中选中GBK 在弹出框内选中Reload 总结:导致这样的原因是你这个.java文件本身是GBK编码的 ...
- 聊聊QPS/TPS/并发量/系统吞吐量的概念
原文:聊聊QPS/TPS/并发量/系统吞吐量的概念 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/cainiao_user/article/deta ...
- codeblocks如何设置,启动后自动打开上次未关闭的workspace
设置--环境--普通设置--on application start-up -------default 关闭code::blocks时不要关那个workspace就可以.至于其它方法就不知道了.
- 神经网络的 Delta 学习规则(learning rule)
1. δ 学习规则 1986 年,由认知心理学家 McClelland 和 Rumellhart 在神经网络训练中引入了 Δ 学习规则,该规则亦可称为连续感知器学习规则(与离散感知器学习规则相并行). ...
- Arcgis api for javascript学习笔记(4.5版本)-三维地图并叠加天地图标注
1.三维地图实现 在官网的demo中就有三维地图的实现,如下图所示 <!DOCTYPE html> <html> <head> <meta charset=& ...
- DragControl
原文:DragControl 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Vblegend_2013/article/details/837911 ...
- .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
原文 .NET/C# 使窗口永不激活(No Activate 永不获得焦点) 有些窗口天生就是为了辅助其它程序而使用的,典型的如“输入法窗口”.这些窗口不希望抢夺其它窗口的焦点. 有 Win32 方法 ...
- corssplatform---NodeJS基础
什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. 每一种解析器都是一 ...
- C#: Get current keyboard layout\input language
原文 https://yal.cc/csharp-get-current-keyboard-layout/ On some occasions, you may want to get a " ...