|
整个过程如下:
1. 编译的环境和所需要资源 :
Qt源码包 :Qt4.6源码包 :qt-everywhere-opensource-src-4.6.3.tar.gz
http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.tar.gz
交叉编译工具: arm-linux-gcc 4.1.2 arm920t-eabi.tar.gz
触摸屏校验工具 : tslib1.4
PC虚拟机运行的OS :CentOS-5.4
2. 安装交叉编译器 :
主要是解压后要在设置交叉编译器的路径信息,即要为它设置一个环境变量。
把arm920t-eabi.tar.gz 放到/opt 目录下,解压该文件 :
# tar xzvf arm920t-eabi.tar.gz
必须说明的是,网上转载该交叉编译器解压开来,产生的是一个/opt/toolchains/arm920t-eabi目录,在这里我们进行目录移动处理,把解压开来的/opt/toolchains/arm920t-eabi目录下面的/toolchains目录的所有内容剪切到系统/opt下面去,同时删除解压开来的/opt目录。
#gedit /root/.bashrc
这是编辑/root/.bashrc文件的命令,在末行添加上交叉编译器的路径信息 :
使用source命令重新执行刚修改过的初始化文件,而不必重启机器。
# source /root/.bashrc
#arm-linux-gcc -v 可以看到版本信息
3. 安装触摸屏校验工具 :
把tslib-1.4.tar.gz放到/opt目录下
#tar xvzf tslib-1.4.tar.gz
#cd tslib
#./autogen.sh
#./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
#make
#make install
这样以后可以看到/usr/local/tslib下有了库文件,移植时会用到。
ps : host选项中malloc后面接着的是数字0,不是小写字母o.
4. 编译Qt-4.6.3库:
首先要明确的是,我们需要编译3种不同类型的Qt库,这些库都由源码包qt-everywhere-opensource-src-4.6.3.tar.gz根据不同的配置选项编译而来。
# cd /opt
把qt-everywhere-opensource-src-4.6.3.tar.gz复制到这个目录下面,并且解压成三份,并且重命名为Qt-4.6.3-pc,Qt-4.6.3-x86和Qt-4.6.3-arm。
另 :图中FriendlyARM是新建的空目录,qtsdk-2010.04是QT Creator2.0的安装目录。Toolchains是交叉编译器的安装目录。
1) 进入qt-4.6.3-pc目录,直接运行configure信息并且编译,安装应用Qt库,在默认的情况下将会在/usr/local/Trolltech目录下生成Qt-4.6.3库目录。
# ./configure
# gmake
# gmake install
修改.bashrc信息
编译出来的基于PC机的Qt源码包大概是3.2 GB左右, Qt库大概是900+M本次编译出来的是914M,如果中间有出现什么情况终止了编译,那一定是一些系统库或者是工具没有安装好,在虚拟机装载系统的时候可以选择把大部分工具都装载进来。
2) 进入qt-4.6.3-x86目录,输入编译嵌入式Qt库配置命令,并且进安装,在默认的情况下,将会在/usr/local/Trolltech产生嵌入式Qt库:QtEmbedded-4.6.3。
# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# gmake
# gmake install
安装下来的嵌入式Qt包大概有2.8G,Qt库大概是接近1G。
3) 进入qt-4.6.3-arm目录,输入编译基于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
# gmake
# gmake install
编译顺利结束以后,将会在/usr/local/Trolltech/QtE-4.6.3-arm目录下面产生基于ARM处理器平台的Qt库,73M。
|
|