Ubuntu下QT源码编译详细过程
更新时间:2024-03-22 00:22:01 阅读量: 综合文库 文档下载
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所示:
图10-1 tslib ./autogen.sh
该shell脚本的正确的执行过程如图10-2所示:
图 10-2 autogen.sh执行过程
设置环境变量 CC=arm-linux-gcc
讲ac_cv_func_malloc_0_nonnull=yes重定向输入到arm-linux.cache echo \
执行configure文件
./configure --prefix=/opt/ts/ --host=arm-linux --cache-file=arm-linux.cache 执行make编译 make
执行make install 安装 make install
检验是否安装成功,在/opt/ts/下面存在的四个文件夹,则安装成功,如图10-3所示:
图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文件生成各级Makefile。cd qt-everywhere-opensource-src-4.6.3,qt-everywhere-opensource-src-4.6.3文件夹下的内容,如图10-3所示:
图10-3 qt-everywhere-opensource-src-4.6.3 执行完configure命令之后,直接make进行编译,时间大约2.5小时。最后执行make install。 以上三个命令执行完之后,可以在/usr/local/Trolltech/查看是否有文件夹Qt-4.6.3,有则说明已经编译并安装成功,如图10-4所示:
图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所示:
图 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
图 10-6 configure 成功
执行完configure命令之后,还需要修改三个文件: cd qt-embeded-opensource-src-4.6.3-arm
1. /src/3rdparty/freetype/include/freetype/config/ftconfig.h 330行
\ %0, %0, %2, lsl #16\\n\\t\ /* %0 |= %2 << 16 */ 2. /src/3rdparty/webkit/WebCore/Makefile 14行和15行
-D__ARM_ARCH_4T__
图 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所示:
图10-8 Qt-4.6.3-arm
10.2 第一个qt工程
第一步:设置qmake的编译版本
X11
在/usr/local/Trolltech/ Qt-4.6.3 创建setenv.sh,编辑添加的内容为: #!/bin/bash
QTDIR=/usr/local/Trolltech/Qt-4.6.3 PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:/opt/ts/lib:$LD_LIBRARY_PATH
然后执行source setenv.sh。
第二步:创建工程目录并qmake编译 工程目录:/home/lizhangjie/qt/helloworld 创建hello.cpp的C++源文件,编辑内容: #include
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QLabel *label = new QLabel(\ label->show(); return app.exec(); }
然后qmake –project qmake make
ARM
在/usr/local/Trolltech/ Qt-4.6.3-arm 创建setenv.sh,编辑添加的内容为: #!/bin/bash
QTDIR=/usr/local/Trolltech/Qt-4.6.3-arm PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:/opt/ts/lib:$LD_LIBRARY_PATH
然后执行source setenv.sh。
在开发板上创建/opt/文件夹
将linux上/opt/ts拷贝到开发板的/opt/下,然后进入./ts/etc/ts.conf修改第二行,将#号和空格去掉,如图所示:
进入到/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
export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH export QTDIR=/usr/local/Trolltech/Qt-4.6.3-arm export QPEDIR=$QTDIR export T_ROOT=/opt/ts
export PATH=$T_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf export TSLIB_CALIBFILE=/etc/pointercal
export QWS_KEYBOARD=USB:/dev/input/event1 export QWS_MOUSE_PROTO=Tslib:/dev/event0
export QWS_DISPLAY=LinuxFb:mmWidth45:mmHeight60:0 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: \2
正在阅读:
Ubuntu下QT源码编译详细过程03-22
请求别人原谅的话02-10
橱窗展示艺术的造型技巧09-02
广西横县平马镇初级中学2013中考数学总复习 几何部分 第五章 解直角三角形 新人教版05-31
吉林省地方税务局关于印发吉林省地方税务局税收规范性文件管理03-10
组合机床毕业设计正文 精品01-20
从朗香教堂的设计理解浪漫主义和神秘主义05-12
关于消防安全个人工作总结08-02
花好月圆02-14
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 编译
- 源码
- 过程
- Ubuntu
- 详细
- 建筑门窗应用技术规程
- 零缺陷管理手册
- 水文地质学基础练习及答案
- 新农村建设的感想与体会
- 关于改革开放以来婚俗变迁的社会实践报告
- 湖北省武汉市黄陂区部分学校2017-2018学年八年级地理下学期期中
- MPEG-4系列数字监控系统使用说明书
- 温州雁荡山导游词
- 齐学红班主任基本功大赛整理笔记
- 食堂考核标准及考核办法
- 汽车领域社交网络电子商务门户平台建设商业计划书
- 2018最新小学庆六一儿童节艺术节开幕式主持人串词-实用word文档
- 2014年中国19所一流大学名单
- 杨善洲同志先进事迹汇编材料A
- 医院药房2018年工作总结及2019年工作计划
- 学校食堂食品安全责任书
- 武汉大学分析化学试题答案全集
- 系统解剖复习习题及答案
- 管径的表示方法
- 用PHP制作静态网站的模板框架