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

转载 2012年03月23日 16:22:19
绝对详细的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"

32位的Ubuntu16.04安装QT5.8,并编译实现window环境下的代码

开始这是本人的第一篇博客,自己经常在网上找问题的解决方法,发现有些问题很难找到合适的解决方法,所以自己也写写,希望能帮助到大家,有错的地方大家指出。安装环境linux环境: Ubuntu16.04 3...
  • qq_35810476
  • qq_35810476
  • 2017年05月11日 00:37
  • 1973

记录一下Linux下安装Qt5.6到命令行编译方式顺利运行第一个helloworld全过程

我的环境:CentOS 6.7  64位 1.下载Qt: Qt版本有很多,自己比较菜,希望安装的过程越简单越好,感觉比较新的版本会好安装一些,5.4版本还要更新 /usr/lib64/libstdc...
  • chavo0
  • chavo0
  • 2016年07月12日 14:46
  • 6487

windows下Qt5.6.0 编译Mysql驱动,并使用。

写这篇博客的原因很简单就是我不想下次在安装QT数据环境上浪费时间,也希望大家也不要在这里浪费时间。第一次Windows下安装Mysql实在是痛苦。 本来Qt5.6.0已经自带了Mysql的驱动。 ...
  • Agou_66
  • Agou_66
  • 2016年07月21日 09:22
  • 2527

win7安装Qt4.8.5 For Windows 最详细的教程,附带所有安装文件-- 转自zgj_today的csdn空间

http://m.blog.csdn.net/blog/yhc13429826359/37735865 2014-7-13阅读148 评论0     为了安装qt4.8.6,鼓捣了...
  • haluoluo211
  • haluoluo211
  • 2015年03月27日 19:54
  • 2787

win7安装Qt4.8.5 For Windows 最详细的教程,附带所有安装文件-- 转自zgj_today的csdn空间

为了安装qt4.8.6,鼓捣了好几天,还是安装错误,百度的安装教程也看了很多,结果还是不行,为了学QT还不能安装5.0的,最后在群里请教才知道是Qt4.8.5以后的minGW版本要是4.4以上,只好安...
  • sunxiaopengsun
  • sunxiaopengsun
  • 2017年08月09日 13:44
  • 116

win7安装Qt4.8.5 For Windows 最详细的教程,附带所有安装文件-- 转自zgj_today的csdn空间

为了安装qt4.8.6,鼓捣了好几天,还是安装错误,百度的安装教程也看了很多,结果还是不行,为了学QT还不能安装5.0的,最后在群里请教才知道是Qt4.8.5以后的minGW版本要是4.4以上,只好安...
  • u012121805
  • u012121805
  • 2014年07月13日 09:15
  • 1006

一篇绝对详细的手工构造PE文件教程

一直以来都在学习PE文件结构,从不敢轻视,但是即使如此还是发现自己在这方面有所不足,于是便想到了用纯手工方式打造一个完整的可执行的PE文件。在这期间我也查了大量资料,但是这些资料都有一个通病就是不完整...
  • cosmoslife
  • cosmoslife
  • 2013年12月10日 23:04
  • 1119

经典的数据库教程及习题(附答案),很详细的,绝对权威

  • 2009年04月17日 10:31
  • 5.75MB
  • 下载

移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)

版权声明:欢迎转载,转载请注明出处 http://blog.csdn.net/lizuobin2/   目前网上的大多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更老的 Qtop...
  • qq_26093511
  • qq_26093511
  • 2016年09月28日 09:28
  • 3185

移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)

目前网上的大多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更老的 Qtopia ,但是目前 Qt 已经发展到最新的 5.7 版本了,我个人也已经使用了很长一段时间的 qt5.6 for w...
  • niepangu
  • niepangu
  • 2017年04月06日 21:32
  • 423
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:绝对详细的QT编译安装教程
举报原因:
原因补充:

(最多只允许输入30个字)