Linux下实现Qt 4.6.3移植 (10.10篇) 是本篇介绍的内容,不多说先来看内容。
1、移植准备
1.1编译所需环境和资源
1、Qt源码包:Qt4.6源码包 :qt-everywhere-opensource-src-4.6.3.tar.gz
2、交叉编译工具:arm-linux-gcc-4.4.3-20100728.tar
3、触摸屏校验工具 :tslib-1.4.tar.gz
4、PC运行的OS 环境:Ubuntu10.10
5、mini2440开发板
1.2安装交叉编译器
把交叉编译工具包放到根目录下,执行命令如下:
- tar zxvf arm-linux-gcc-4.4.3-20100728.tar –C /
解压后产生一个目录:/opt/FriendlyARM/toolschain/4.4.3,进入该目录,进入bin目录,执行命令如下:
- pwd>>/root/.bashrc
接着执行命令如下:
- vi /root/.bashrc
然后修改最后一行:export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH
为了使配置的环境立即生效,接着执行如下命令:
- source /root/.bashrc
查看版本信息,执行命令:
- arm-linux-gcc –v
出现正确版本,说明配置交叉编译器成功。
1.3 安装触摸屏校验工具
把tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:
- tar zxvf tslib-1.4.tar.gz
执行命令cd tslib,进入tslib当前目录,接着执行命令如下:
- Source autogen.sh
然后接着执行配置命令:
- ./configure --prefix=/usr/local/tslib --host=arm-linuxac_cv_func_malloc_0_nonnull=yes
最后执行编译命令和安装命令如下:
- make
- make install
如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。
1.4 编译Qt-4.6.3库文件
把qt-everywhere-opensource-src-4.6.3.tar.gz放到/opt目录下。接着执行命令如下:
- tar zxvf qt-everywhere-opensource-src-4.6.3.tar.gz
接着把解压出来的目录重名成qt-embeded-4.6.3-arm,执行命令如下:
- mv qt-everywhere-opensource-src-4.6.3.tar.gz qt-embedded-4.6.3-arm
进入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/lib
接着继续执行编译和安装命令,命令如下:
- make
- make install
以上都成功的话,就会在目录/usr/local/Trolltech/QtEmbedded-4.6.3-arm下看到基于ARM处理平台的Qt库文件。
2开始移植
2.1移植库到mini2440开发板
在开发板上建立目录如下:
- /usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin
- /usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts
- /usr/local/tslib
复制所需运行库
把在pc机上编译好的库/usr/local/Trolltech/QtEmbedded-4.6.3/lib/下的所有文件全部复制到 /usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/下
复制触摸屏软件
把在pc机上编译安装好/usr/local/tslib/目录下的所有文件都复制到开发板/usr/local/tslib/下。
2.2在mini2440建立环境变量
用命令执行:vi /etc/profile,在里面增加如下内容:
- export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm
- export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm
- export TSLIB_ROOT=/usr/local/tslib
- export PATH=$QTDIR/bin:$PATH
- export TSLIB_CONSOLEDEVICE=none
- export TSLIB_FBDEVICE=/dev/fb0
- export TSLIB_TSDEVICE=/dev/input/event0
- export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
- export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
- export TSLIB_CALIBFILE=/etc/pointercal
- export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
- export QWS_DISPLAY=LinuxFb:/dev/fb0
- export QWS_SIZE=240x320
- export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
修改mini2440上/usr/local/tslib/etc/ts.conf 文件:把第二行# module_raw input 前面的#和空格去除,保存退出。
2.3移植实现
首先在pc机上编译,进入程序(test_hello)目录,然后执行命令如下:
- /usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/qmake
然后执行编译命令:make
执行完后,用命令:file test_hello 是否为二进制文件。如果是,则说明编译成功,可以移植到mini2440开发板了。
把编译好的程序test_hello通过u盘复制到开发板/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/目录下
然后通过终端执行./test_hello –qws –fonts wenquanyi,如果开发板出现自己的程序说明执行成功。
经过实际实验 确认可行 交叉编译器要使用交叉编译工具:arm-linux-gcc-4.4.3-20100728.tar
若使用4.3.2版本的 实际效果总是段错误 原因不知
阅读(2073) | 评论(0) | 转发(0) |