首页 / 操作系统 / Linux / Linux之Qt4.6.3移植----Ubuntu10.10
1移植准备
1.1编译所需环境和资源
1. Qt源码包:Qt4.6源码包 :qt-everywhere-opensource-src-4.6.3.tar.gz2. 交叉编译工具:arm-linux-gcc-4.4.3-20100728.tar3. 触摸屏校验工具 :tslib-1.4.tar.gz4. PC运行的OS 环境:Ubuntu10.105. mini2440开发板1.2安装交叉编译器
u 把交叉编译工具包放到根目录下,执行命令如下:tar zxvf arm-linux-gcc-4.4.3-20100728.tar –C /u 解压后产生一个目录:/opt/FriendlyARM/toolschain/4.4.3,进入该目录,进入bin目录,执行命令如下:pwd>>/root/.bashrcu 接着执行命令如下: vi /root/.bashrc然后修改最后一行:export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATHu 为了使配置的环境立即生效,接着执行如下命令: source /root/.bashrcu 查看版本信息,执行命令:arm-linux-gcc –vu 出现正确版本,说明配置交叉编译器成功。1.3 安装触摸屏校验工具
n 把tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:tar zxvf tslib-1.4.tar.gzn 执行命令cd tslib,进入tslib当前目录,接着执行命令如下:Source autogen.shn 然后接着执行配置命令:./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yesn 最后执行编译命令和安装命令如下:makemake installn 如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。1.4 编译Qt-4.6.3库文件
n 把qt-everywhere-opensource-src-4.6.3.tar.gz放到/opt目录下。接着执行命令如下:tar zxvf qt-everywhere-opensource-src-4.6.3.tar.gzn 接着把解压出来的目录重名成qt-embeded-4.6.3-arm,执行命令如下:mv qt-everywhere-opensource-src-4.6.3.tar.gz qt-embedded-4.6.3-armn 进入qt-embedded-4.6.3-arm,然后执行配置命令,命令如下:./configure -prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm -opensource -confirm-license -release -shared -embedded arm -xplatform qws/linux-arm-g++ -depths 16,18,24 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -little-endian -host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx -no-sse -no-sse2 -no-3dnow -no-webkit -no-qvfb -no-phonon -no-nis -no-opengl -no-cups -no-glib -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info -nomake examples -nomake tools -nomake docs -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/libn 接着继续执行编译和安装命令,命令如下:make make installn 以上都成功的话,就会在目录/usr/local/Trolltech/QtEmbedded-4.6.3-arm下看到基于ARM处理平台的Qt库文件。2开始移植
2.1移植库到mini2440开发板
n 在开发板上建立目录如下:/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/usr/local/tslibn 复制所需运行库把在pc机上编译好的库/usr/local/Trolltech/QtEmbedded-4.6.3/lib/下的所有文件全部复制到 /usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/下n 复制触摸屏软件把在pc机上编译安装好/usr/local/tslib/目录下的所有文件都复制到开发板/usr/local/tslib/下。2.2在mini2440建立环境变量
n 用命令执行:vi /etc/profile,在里面增加如下内容:export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-armexport QPEDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm export TSLIB_ROOT=/usr/local/tslibexport PATH=$QTDIR/bin:$PATHexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_TSDEVICE=/dev/input/event0export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/tsexport TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.confexport TSLIB_CALIBFILE=/etc/pointercalexport QWS_MOUSE_PROTO=Tslib:/dev/input/event0export QWS_DISPLAY=LinuxFb:/dev/fb0export QWS_SIZE=240x320export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH n 修改mini2440上/usr/local/tslib/etc/ts.conf 文件:把第二行# module_raw input 前面的#和空格去除,保存退出。2.3移植实现
n 首先在pc机上编译,进入程序(test_hello)目录,然后执行命令如下:/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/qmake<FONT style="FONT-SIZE: 10.5pt" face=""">
n 然后执行编译命令:maken 执行完后,用命令:file test_hello 是否为二进制文件。如果是,则说明编译成功,可以移植到mini2440开发板了。把编译好的程序test_hello通过u盘复制到开发板/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/目录下n 然后通过终端执行./test_hello –qws –fonts wenquanyi,如果开发板出现自己的程序说明执行成功。