qt是一个开源的、跨平台的图形库(当然qt的功能不只是图形库啦),一般在linux平台中应用比较广泛。开发者要是使用qt库进行应用程序的开发,需要对安装qt的开发环境,说简单点就是安装好qt的库、头文件及内部工具。我们一般采用源码包安装。
准备:
下载源码包qt-everywhere-opensource-src-4.8.5.tar.gz
像所有的源码包安装一样,qt的安装也是configure、make、make install这经典的安装三部曲;而对于大多数人来说难点在于configure这个步骤上,因为选项真的是很多。我一般把这这些选项写到一个脚本中。
一、X11版本(Ubuntu12.04)
1.configuer
---------------------------这是脚本------------------------
#!/bin/bash
./configure -prefix /opt/qt-4.8.5-x11 \ #安装位置,缺省/usr/local/Trolltech/Qt-4.8.5
-opensource \ #开源版本
-gtkstyle \ #内嵌gtk主题;没有此项编译出来的qt应用程序可选择的主题少
-fontconfig \ #支持系统字体库配置;没有此项qt应用程序可选择字体很少,特别不美观
-make tools #编译一些qt自带的实用工具,如makeqpf qtconfig 等等
---------------------------这是脚本------------------------
NOTE:
以上这些选项如果你都不配置也是可以通过的。如果不显示的给出这些选项一般是按缺省值或者config.test来进行系统环境的测试来决定是否开启哪些选项。以上的这些选项是比较实用的,建议显示启用。
特别是fontconfig选项没启用,那么你在用qtconfig为应用程序配置字体是会发现只有几种字体选择。
启用以上选项后,可能出现一些错误信息,主要是一些库缺失引起的。
freetype错误:
apt-get install libfreetype6-dev
ln -s /usr/include/freetype2/freetype /usr/include/freetype
fontconfig错误:
apt-get install libfontfig1-dev
2.make
3.make install
经过以上步骤,你的qt会安装在你指定的安装目录中,其中bin文件中有一些qt内部工具如:qmake qtconfig makeqpf;如果你是用qtcreator来开发那么就不需要在系统中配置环境变量了,如果你就要命令行来工作那就配置PATH 和QT_DIR(其实这个不配置也可以)这两个环境变量就行了。
二、Embedded版本
1.configuer
---------------------------这是脚本------------------------
#!/bin/bash
./configure -prefix /opt/qt-4.8.5-arm \
-opensource \
-embedded arm \ #arm平台
-xplatform qws/linux-arm-g++ \ #编译工具,对应arm-linxu-g++
-no-webkit \ #不支持webkit功能
-qt-libtiff \ #支持tiff字体
-qt-libmng \ #支持mng
-qt-mouse-pc \
-qt-mouse-tslib \
-qt-mouse-linuxtp \
-no-neon \
-qt-gfx-qvfb \
-qt-gfx-transformed \ #旋转屏支持
-qt-kbd-qvfb \
-qt-mouse-qvfb \
-make tools
---------------------------这是脚本------------------------
NOTE:
我是在FriendlyARM Tiny210v2 开发板提供的交叉工具链来编译的,其他的没测试。有问题,安装好库就OK了。
2.make
3.make install
经过以上步骤,你的qt会安装在你指定的安装目录中,其中bin文件中有一些qt内部工具如:qmake qtconfig makeqpf;如果你是用qtcreator来开发那么就不需要在系统中配置环境变量了,如果你就要命令行来工作那就配置PATH 和QT_DIR(其实这个不配置也可以)这两个环境变量就行了。
4.目标板环境搭建
将qt安装目录中的lib imports plugins mkspecs 拷贝到开发目标版中指定目录
(一定要跟你编译时的目录对应,如我的:opt/qt-4.8.5-arm)
配置一些环境变量(如何配置开后面),配置好了写个测试程序。记得运行时一定要加-qws
如 : ./test -qws
环境变量设置,我就不想多说了,我喜欢写成到脚步中,我也不解释了,一看就明白
---------------------------这是脚本------------------------
#!/bin/sh
if [ -e /dev/touchscreen-1wire ] ; then
TSLIB_TSDEVICE=/dev/touchscreen-1wire
else
TSLIB_TSDEVICE=/dev/touchscreen
fi
if grep -Ei "\<ctp=(1|2|3)\>" /proc/cmdline >/dev/null; then
TSLIB_CONFFILE=/etc/ts-mt.conf
else
TSLIB_CONFFILE=/etc/ts.conf
fi
export TSLIB_TSDEVICE
export TSLIB_CONFFILE
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export QTDIR=/opt/qt-4.8.5-arm
export QPEDIR=/opt/qt-4.8.5-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH