Linux下Qt4.5.3开发环境搭建

操作系统:Ubuntu12.04
搭建环境:Qt4.5.3开发环境--编译库文件和qmake工具
①到http://download.qt.io/archive/qt/4.5/网站下载编译源文件,然后放到Ubuntu系统里进行解压:
tar –xzvf qt-x11-opensource-src-4.5.3.tar.gz
tar –xzvf qt-embedded-linux-opensource-src-4.5.3.tar.gz
这两个源码包的作用:QT-X11-4.5.3是运行于linux平台下用于仿真QT应用程序的软件,这样你便可以在linux平台
下把你应用程序都调试好,然后再利用QT4.5.3把应用程序编译成ARM版本下载至开发板,这样你就可以在开发板上运
行你的QT应用程序了。
网上有些资料一说到编译QT开发环境就罗列qt-x11、qt-embedded...x86、 qt-embedded-linux-opensource-src-4.5.3-arm这三个一来弄得我头晕啊,究竟干嘛用,这么麻烦。结果查啊查,原来,顾名思义:
qt-x11版:在PC机上运行的QT库源码--主要开发时用于模拟开发平台,这样就可以不用开发板也能玩
qt-embedded-x86版:x86体系的嵌入式板子上运行的QT库源码
qt-embedded-arm:arm板子上运行的QT库源码

这样一说就一目了然啦,让读者一看就知道我需要编译哪些源码包。接下来是记录关于编译qt-x11和qt-embedded-arm库的过程。


②编译安装qt-x11 -- 成功
接着上面的解压步骤,依次执行下面指令:
cd qt-x11-opensource-src-4.5.3
./configure   //这个配置文件会指定默认安装路径/usr/local/Trolltech/Qt-4.5.3到Makefile文件,可以打开来看看“prefix”配置项
make   //这个编译有点久,我编译了1小时过20分钟。make时使用的编译器是源码包里有的,据说从Qt3.0开始就不用再自己去另外编译编译器,以前版本是要编译什么tmake的
make install   //如果要卸载就:make uninstall
如此qt-x11编译生成的库和编译时用到的qmake工具被安装到此目录下/usr/local/Trolltech/Qt-4.5.3

附1:qmake这玩意是用来生成平台相关的Makefile文件的
附2:configure文件的配置选项通常有“-prefix”--指定安装路径,通常是可执行文件的、库文件的安装路径
例如:./configure -prefix /dir1/dir2/xxx
通过“./configure --help”指令来查看用法:
Usage:  configure [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
...
...
慢慢看意会意会^_^


③安装qvfb工具
qt-x11-opensource-src-4.5.3中间就有qvfb的原码包,下面就选择qt-x11-opensource-src-4.5.3,自带的工具编译生成该qvfb工具。
准备工作:
复制deviceskin.h,deviceskin.cpp到qvfb文件下,首先进行查找:
root@ubuntu:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools# find / -name "*deviceskin.h*"
/home/clbiao/qt4.5.3/qt-x11-opensource-src-4.5.3/tools/shared/deviceskin/deviceskin.h
/home/clbiao/qt4.5.3/qt-embedded-linux-opensource-src-4.5.3-arm/tools/shared/deviceskin/deviceskin.h
/home/clbiao/qt4.5.3/qt-embedded-linux-opensource-src-4.5.3-x86/tools/shared/deviceskin/deviceskin.h
root@ubuntu:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools# 
root@ubuntu:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools# find / -name "*deviceskin.cpp*"
/home/clbiao/qt4.5.3/qt-x11-opensource-src-4.5.3/tools/designer/src/lib/.moc/release-shared/moc_deviceskin.cpp
/home/clbiao/qt4.5.3/qt-x11-opensource-src-4.5.3/tools/shared/deviceskin/deviceskin.cpp
/home/clbiao/qt4.5.3/qt-embedded-linux-opensource-src-4.5.3-arm/tools/shared/deviceskin/deviceskin.cpp
/home/clbiao/qt4.5.3/qt-embedded-linux-opensource-src-4.5.3-x86/tools/shared/deviceskin/deviceskin.cpp
root@ubuntu:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools# cp ../../qt-embedded-linux-opensource-src-4.5.3-arm/tools/shared/deviceskin/deviceskin.h ./qvfb/
root@ubuntu:~/qt4.5.3/qt-x11-opensource-src-4.5.3/tools# cp ../../qt-embedded-linux-opensource-src-4.5.3-arm/tools/shared/deviceskin/deviceskin.pp ./qvfb/
继续:
cd qvfb
编着编着突然想到既然第一步x11都编译出来了,而且编译安装目录下面还有demo和example,为毛不先进去看看能不能运行呢?!
那就去试试咯!
cd /usr/local/Trolltech/Qt-4.5.3/demos/mainwindow
./mainwindow
干!果然可以运行,有窗口跳出来,如此炫酷!
果断不再按照网上的搜集的方法来编译。这qvfb哪来的呢?不会ubuntu12.04自带的?!不是。因为看到打开窗口在侧边栏的图标是绿色的Q,难道?!没错就是安装QtCreater时安装上的。忘了说,编译这些Qt库之前我去了Ubuntu的软件中心直接下载安装了QtCreator Version2.4.1
qvfb——Qt的虚拟缓冲帧,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应用程
单单编译完qt-x11就可以得到下面这几个QT开发工具:可以到编译安装目录下面去看看
designer——Qt界面的设计工具
uic——可以把Qt的界面描述文件转化为相应的 .h和.cpp文件
moc——把Qt的信号和插槽的定义翻译为标准的C++语法

④编译安装qt-embedded  -- 成功
//嵌入式ARM架构版本
cp -rf qt-embedded-linux-opensource-src-4.5.3 qt-embedded-linux-opensource-src-4.5.3-arm   //这条指令仅仅是为了复制一份解压的源文件
cd qt-embedded-linux-opensource-src-4.5.3-arm
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm  -lrt -little-endian
make  //这个也要编译好久好久,到安装完1个小时40分钟
make install

配置选项分析:
-prefix/usr/local/Trolltech/QtEmbedded-4.5.0-arm //指定安装路径
-embedded arm                                    //指定平台
-little-endian                                   //指定为小端存储
-lrt                                             //没有指定会
附:编译嵌入式X86架构版本的Qt库
mv qt-embedded-linux-opensource-src-4.5.3 qt-embedded-linux-opensource-src-4.5.3-x86
cd qt-embedded-linux-opensource-src-4.5.3-x86
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.3-x86 -embedded x86 -qvfb
make
make install

搞定^_^

上面编译的2个库和工具加起来有1.8G,不是一般的大!

下一篇博文会记录使用这些编译库文件和qmake等工具来开发Qt Project



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。