关闭

绝对详细的QT编译安装教程

标签: qtlibrarymakefilepathkeyboardoffice
5638人阅读 评论(0) 收藏 举报
分类:
绝对详细的QT编译安装教程
本帖最后由 李张杰 于 2011-4-1 22:59 编辑

10 .QT

10.1 qt的源码编译

安装编译源码的所需工具和库

X11:

1. apt-get install libX11-dev libXext-dev libXtst-dev

2. apt-get install xorg-dev

3. apt-get install libtool

4. apt-get install autoconf

5. apt-get install g++

ARM:

1
apt-get install
qt3-dev-tools

apt-get install
qt4-qmake

2 安装触屏支持库tslib-1.4

tar -zxvf
tslib-1.4.tar.gz

cd tslib进入tslib目录下,目录内容如图10-1所示:


QQ截图未命名.png

下载 (53.58 KB)
2011-4-1 22:44



10-1 tslib

./autogen.sh

shell脚本的正确的执行过程如图10-2所示:

QQ截图未命名.png

下载 (135.83 KB)
2011-4-1 22:45

                                                 10-2 autogen.sh执行过程

设置环境变量

CC=arm-linux-gcc

ac_cv_func_malloc_0_nonnull=yes重定向输入到arm-linux.cache

echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

执行configure文件

./configure --prefix=/opt/ts/ --host=arm-linux --cache-file=arm-linux.cache

执行make编译

make

执行make install 安装

make install

检验是否安装成功,在/opt/ts/下面存在的四个文件夹,则安装成功,如图10-3所示:

QQ截图未命名.png

下载 (22.31 KB)
2011-4-1 22:46

                                                 10-3 ts安装目录

X11版本编译安装过程:

第一步:解压

工程路径:/home/lizhangjie/install

目标文件:qt-everywhere-opensource-src-4.6.3.tar.gz

通过tar命令将目标文件解压到工程路径下:

tar –zxvf qt-everywhere-opensource-src-4.6.3.tar.gz

注意:tar.bz2结尾的压缩文件才会用到-jxvf 参数。

解压之后会得到文件夹qt-everywhere-opensource-src-4.6.3编译该源码得到的最终是X11版本的,我们后面还要编译ARM版本。

第二步:执行configure文件

       我们首先的通过执行configure文件,让系统按照configure文件生成各级Makefilecd qt-everywhere-opensource-src-4.6.3qt-everywhere-opensource-src-4.6.3文件夹下的内容,如图10-3所示:

QQ截图未命名.png

下载 (83.44 KB)
2011-4-1 22:48

                                   10-3 qt-everywhere-opensource-src-4.6.3

执行完configure命令之后,直接make进行编译,时间大约2.5小时。最后执行make install

以上三个命令执行完之后,可以在/usr/local/Trolltech/查看是否有文件夹Qt-4.6.3,有则说明已经编译并安装成功,如图10-4所示:

QQ截图未命名.png

下载 (27.46 KB)
2011-4-1 22:48

                                                 10-4 安装目录

ARM版本的编译:

第一步:解压

通过tar命令将目标文件解压到工程路径下:

tar –zxvf qt-everywhere-opensource-src-4.6.3.tar.gz

通过命令mv qt-everywhere-opensource-src-4.6.3 qt-embeded-opensource-src-4.6.3-arm

我们需要的是qt-embeded-opensource-src-4.6.3-arm文件夹。图10-5所示:


QQ截图未命名.png

下载 (41.91 KB)
2011-4-1 22:49

                            10-5 qt-embeded-opensource-src-4.6.3-arm

第二步:执行configure文件

./configure -prefix /usr/local/Trolltech/Qt-4.6.3-arm -release -shared -fast -xplatform qws/linux\

-arm-g++ -embedded arm -depths 16 -no-qvfb -no-qt3support -qt-sql-sqlite -qt-zlib -qt-libpng -qt-\

freetype -qt-mouse-tslib -no-mouse-pc -no-mouse-linuxtp -nomake examples -nomake demos -nomake docs -nomake tools -I/opt/ts/include -L/opt/ts/lib


QQ截图未命名.png

下载 (47.37 KB)
2011-4-1 22:50

                                    10-6 configure 成功

执行完configure命令之后,还需要修改三个文件:

cd qt-embeded-opensource-src-4.6.3-arm

1. /src/3rdparty/freetype/include/freetype/config/ftconfig.h

330

  1. "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
复制代码

2. /src/3rdparty/webkit/WebCore/Makefile

14行和15

-D__ARM_ARCH_4T__


QQ截图未命名.png

下载 (31 KB)
2011-4-1 22:51

                                                 10-7 Makefile修改

3. /src/script/Makefile

14行和15

-D__ARM_ARCH_4T__

第三步:make编译和make install安装

直接make进行编译,时间大约2.5小时。最后执行make install。以上三个命令执行完之后,可以在/usr/local/Trolltech/查看是否有文件夹Qt-4.6.3-arm,有则说明已经编译并安装成功,如图10-8所示:


QQ截图未命名.png

下载 (29.77 KB)
2011-4-1 22:51

                                                 10-8 Qt-4.6.3-arm

10.2 第一个qt工程

第一步:设置qmake的编译版本

X11

/usr/local/Trolltech/ Qt-4.6.3 创建setenv.sh,编辑添加的内容为:

  1. #!/bin/bash
  2.       QTDIR=/usr/local/Trolltech/Qt-4.6.3
  3.       PATH=$QTDIR/bin:$PATH
  4.       LD_LIBRARY_PATH=$QTDIR/lib:/opt/ts/lib:$LD_LIBRARY_PATH
复制代码

然后执行source setenv.sh

第二步:创建工程目录并qmake编译

工程目录:/home/lizhangjie/qt/helloworld

创建hello.cppC++源文件,编辑内容:

#include <QApplication>

#include <QLabel>

int main(int argc, char *argv[])

{


QApplication app(argc, argv);


QLabel *label = new QLabel("Hello Qt!");


label->show();


return app.exec();

}

然后qmake –project


qmake


make

ARM

/usr/local/Trolltech/ Qt-4.6.3-arm 创建setenv.sh,编辑添加的内容为:

  1.         #!/bin/bash<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
  2.        QTDIR=/usr/local/Trolltech/Qt-4.6.3-arm
  3.        PATH=$QTDIR/bin:$PATH
  4.         LD_LIBRARY_PATH=$QTDIR/lib:/opt/ts/lib:$LD_LIBRARY_PATH
复制代码

然后执行source setenv.sh

在开发板上创建/opt/文件夹

linux/opt/ts拷贝到开发板的/opt/下,然后进入./ts/etc/ts.conf修改第二行,将#号和空格去掉,如图所示:

QQ截图未命名.png

下载 (19.46 KB)
2011-4-1 22:52

进入到/usr/local/Trolltech/Qt-4.6.3-arm/lib

通过命令
cp XXXXXX -d /utuLinux2.6/s3c2440_recover/usr/local/Trolltech/Qt-4.6.3-arm/lib

linux本机上的四个库文件及其相关的连接符号文件一起考到开发板的文件夹下。(-d 参数会同时修改链接符号文件指向)。

XXXXXX

libQtCore.so.4.6.3

libQtSql.so.4.6.3

libQtNetwork.so.4.6.3

libQtGui.so.4.6.3

实例:

cp libQtCore.so* -d
/utuLinux2.6/s3c2440_recover/usr/local/Trolltech/Qt-4.6.3-arm/lib/

修改添加开发板/etc/profile

  1. export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH
  2. export QTDIR=/usr/local/Trolltech/Qt-4.6.3-arm
  3. export QPEDIR=$QTDIR
  4. export T_ROOT=/opt/ts
  5. export PATH=$T_ROOT/bin:$PATH
  6. export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
  7. export TSLIB_CONSOLEDEVICE=none
  8. export TSLIB_FBDEVICE=/dev/fb0
  9. export TSLIB_TSDEVICE=/dev/event0
  10. export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
  11. export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
  12. export TSLIB_CALIBFILE=/etc/pointercal
  13. export QWS_KEYBOARD=USB:/dev/input/event1
  14. export QWS_MOUSE_PROTO=Tslib:/dev/event0
  15. export QWS_DISPLAY=LinuxFb:mmWidth45:mmHeight60:0
  16. export QWS_SIZE=320x240
复制代码

然后qmake –project

qmake

这里需要修改Makefile:

修改当前生成的Makefile

19行的最后加上 -lts

LIBS
= $(SUBLIBS)
-L/usr/local/Trolltech/Qt-4.6.3-arm/lib -lQtGui -L/opt/ts/lib -L/usr/local/Trolltech/Qt-4.6.3-arm/lib -lQtNetwork -lQtCore -lpthread
–lts

进到开发板的lib库下面

cd /lib

ln -s libstdc\+\+.so.60.0.3 libstdc\+\+.so.6

并且在开发板根目录下面创建/tmp/目录

make

执行可执行文件时要在后面加上 –qws

FAQ:


1
执行自己的qt程序之前,请先执行/opt/ts/bin/ts_calibrate校准触摸屏,不然自己的qt程序不能使用触摸屏,会提示:Could not read calibration: "/etc/pointercal"

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1061668次
    • 积分:12543
    • 等级:
    • 排名:第1164名
    • 原创:81篇
    • 转载:1045篇
    • 译文:3篇
    • 评论:51条
    最新评论