加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 教程 > 正文

Ubuntu 10.04下Qt4.7.4移植介绍

发布时间:2021-12-14 12:58:08 所属栏目:教程 来源:互联网
导读:移植环境 gcc编译器版本:gcc version4.3.2 (Sourcery G++ Lite 2008q3-72) 宿主机版本:Ubuntu 10.04 LTS QtCreator版本:QtCreator2.6.1 交叉编译依赖库:tslib1.4 Qt版本:qt-everywhere-opensource-src-4.7.4 虚拟机版本:Vmware 7.1.4 qmake 移植Qt其实

移植环境
 
gcc编译器版本:gcc version4.3.2 (Sourcery G++ Lite 2008q3-72)
 
宿主机版本:Ubuntu 10.04 LTS
 
QtCreator版本:QtCreator2.6.1
 
交叉编译依赖库:tslib1.4
 
Qt版本:qt-everywhere-opensource-src-4.7.4
 
虚拟机版本:Vmware 7.1.4
 
qmake
 
移植Qt其实主要是为了得到三个版本的qmake,分别为qmake-arm、qmake-x86、qmake-x11
 
qmake-arm:用于交叉编译arm架构的程序,编译后的程序运行在开发板上。由于我们的开发板要使用触摸屏,开发板程序需要触摸屏库的支持,所以必须先移植触摸屏库。
 
qmake-x86:用于编译x86架构的程序,编译这个qmake只是为了方便调试开发板上的程序,创建一个虚拟的开发板环境。
 
qmake-x11:用于编译在宿主机上运行的程序。移植时需要把qvfb这个工具编译出来提供给虚拟环境使用,配置时加上参数-qvfb即可。
 
移植前准备
 
1. 分别创建以下目录:
 
/home/qt/qt-x86
 
/home/qt/qt-x11
 
/home/qt/qt-arm
 
/home/qt/qt-creator
 
/home/qt/tslib
 
2. 文件。将qt-everywhere-opensource-src-4.7.4解压成三份,分别命名为qt-x86-build、qt-x11-build、qt-arm-build。
 
tslib 1.4触摸屏库的移植
 
1.解压源码
 
# tar -zxvf tslib-1.4.tar.gz
 
# cd tslib-1.4
 
2.执行autogen.sh脚本生成configure文件
 
# ./autogen.sh
 
3.生成Makefile文件
 
# echo"ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache
 
# ./configure --host=arm-linux --prefix=/home/qt/tslib--cache-file=arm-linux.cache
 
说明:
 
l --cache-file 定义一个临时的缓冲文件,当重新进行配置时可利用此文件加快配置速度,默认情况下是不用这个文件的。
 
l 如果不添加echo"ac_cv_func_malloc_0 _nonnull=yes">arm-linux.cache会报错:
 
ts_test.o: In function `main':
 
ts_test.c:(.text+0x1d8): undefinedreference to `rpl_malloc'
 
fbutils.o: In function`open_framebuffer':
 
fbutils.c:(.text+0xa20): undefinedreference to `rpl_malloc'
 
4.编译安装
 
#make
 
#make install
 
5.修改/tslib/etc/ts.conf文件
 
module_rawinput
 
modulepthres pmin=1
 
modulevariance delta=30
 
moduledejitter delta=100
 
modulelinear
 
修改完成后将整个安装文件拷贝到开发板下的/usr目录下
 
6.修改开发板系统/etc/profile中添加如下代码:
 
exportTSLIB_ROOT=/usr/tslib_install
 
exportTSLIB_TSDEVICE=/dev/event0
 
exportTSLIB_CALIBFILE=/etc/pointercal
 
exportTSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
 
exportTSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
 
exportTSLIB_CONSOLEDEVICE=none
 
exportTSLIB_FBDEVICE=/dev/fb0
 
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
 
7.在开发板上测试触摸屏校正程序
 
./home/tslib/bin/ts_calibrate
 
移植到ARM开发板qmake-arm
 
1.进入到/home/qt/qt-arm文件夹,配置编译选项
 
#./configure --prefix=/home/qt/qt-arm-embedded arm -release -opensource -fast -no-accessibility -no-scripttools-no-mmx -no-multimedia -no-svg -no-webkit -no-3dnow -no-sse -no-sse2 -silent-qt-libpng -qt-libjpeg -no-libtiff -no-multimedia -make libs -nomake tools-nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus-no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc-no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I/home/qt/tslib/include-L/home/qt/tslib/lib
 
提示:
 
Do youaccept the terms of either license?
 
输入yes
 
2.make
 
3.makeinstall
 
4.编译完成之后修改/home/qt/qt-arm/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf文件
 
#modifications to g++.conf
 
QMAKE_CC = arm-none-linux-gnueabi-gcc-lts
 
QMAKE_CXX = arm-none-linux-gnueabi-g++-lts
 
QMAKE_LINK = arm-none-linux-gnueabi-g++ -lts
 
QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++ -lts
 
使编译器加载触摸屏的库,否则编译时会报错!
 
5.将/home/qt/qt-arm/bin目录下的qmake名称更换为qmake-arm
 
6.添加环境变量
 
vi/etc/bash.bashrc
 
添加:
 
exportPATH=$PATH:/home/qt/qt-arm/bin
 
7.启用新的环境变量
 
#source/etc/bash.bashrc
 
8.查看是否设置成功
 
#qmake-arm–v
 
如果成功打印如下信息:
 
QMakeversion 2.01a
 
Using Qtversion 4.7.4 in /home/qt/qt-arm/lib

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读