您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Ubuntu-10.04下Qt4.7.4移植详解
移植环境gcc编译器版本:gccversion4.3.2(SourceryG++Lite2008q3-72)宿主机版本:Ubuntu10.04LTSQtCreator版本:QtCreator2.6.1交叉编译依赖库:tslib1.4Qt版本:qt-everywhere-opensource-src-4.7.4虚拟机版本:Vmware7.1.4qmake移植Qt其实主要是为了得到三个版本的qmake,分别为qmake-arm、qmake-x86、qmake-x11qmake-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/tslib2.文件。将qt-everywhere-opensource-src-4.7.4解压成三份,分别命名为qt-x86-build、qt-x11-build、qt-arm-build。tslib1.4触摸屏库的移植1.解压源码#tar-zxvftslib-1.4.tar.gz#cdtslib-1.42.执行autogen.sh脚本生成configure文件#./autogen.sh3.生成Makefile文件#echoac_cv_func_malloc_0_nonnull=yesarm-linux.cache#./configure--host=arm-linux--prefix=/home/qt/tslib--cache-file=arm-linux.cache说明:l--cache-file定义一个临时的缓冲文件,当重新进行配置时可利用此文件加快配置速度,默认情况下是不用这个文件的。l如果不添加echoac_cv_func_malloc_0_nonnull=yesarm-linux.cache会报错:ts_test.o:Infunction`main':ts_test.c:(.text+0x1d8):undefinedreferenceto`rpl_malloc'fbutils.o:Infunction`open_framebuffer':fbutils.c:(.text+0xa20):undefinedreferenceto`rpl_malloc'4.编译安装#make#makeinstall5.修改/tslib/etc/ts.conf文件module_rawinputmodulepthrespmin=1modulevariancedelta=30moduledejitterdelta=100modulelinear修改完成后将整个安装文件拷贝到开发板下的/usr目录下6.修改开发板系统/etc/profile中添加如下代码:exportTSLIB_ROOT=/usr/tslib_installexportTSLIB_TSDEVICE=/dev/event0exportTSLIB_CALIBFILE=/etc/pointercalexportTSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.confexportTSLIB_PLUGINDIR=$TSLIB_ROOT/lib/tsexportTSLIB_CONSOLEDEVICE=noneexportTSLIB_FBDEVICE=/dev/fb0exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib7.在开发板上测试触摸屏校正程序./home/tslib/bin/ts_calibrate移植到ARM开发板qmake-arm1.进入到/home/qt/qt-arm文件夹,配置编译选项#./configure--prefix=/home/qt/qt-arm-embeddedarm-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-makelibs-nomaketools-nomakeexamples-nomakedocs-nomakedemo-no-nis-no-cups-no-iconv-no-dbus-no-openssl-xplatformqws/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提示:Doyouacceptthetermsofeitherlicense?输入yes2.make3.makeinstall4.编译完成之后修改/home/qt/qt-arm/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf文件#modificationstog++.confQMAKE_CC=arm-none-linux-gnueabi-gcc-ltsQMAKE_CXX=arm-none-linux-gnueabi-g++-ltsQMAKE_LINK=arm-none-linux-gnueabi-g++-ltsQMAKE_LINK_SHLIB=arm-none-linux-gnueabi-g++-lts使编译器加载触摸屏的库,否则编译时会报错!5.将/home/qt/qt-arm/bin目录下的qmake名称更换为qmake-arm6.添加环境变量vi/etc/bash.bashrc添加:exportPATH=$PATH:/home/qt/qt-arm/bin7.启用新的环境变量#source/etc/bash.bashrc8.查看是否设置成功#qmake-arm–v如果成功打印如下信息:QMakeversion2.01aUsingQtversion4.7.4in/home/qt/qt-arm/lib
本文标题:Ubuntu-10.04下Qt4.7.4移植详解
链接地址:https://www.777doc.com/doc-1813808 .html