成功交叉编译了Qtopia4.3.1,记录如下:
交叉编译用到的包:
qtopia-core-opensource-src-4.3.1.tar.gz
arm.tar.gz
cd /usr/local
tar -zxvf arm.tar.gz
tar -zxvf qtopia-core-opensource-src-4.3.1.tar.gz
mv qtopia-core-opensource-src-4.3.1 qtopia-4.3.1
编译前环境变量配置:(配置在
/root/.bash_profile文件)
PATH=/usr/local/arm/bin:$PATH
PATH=/usr/local/qtopia-4.3.1/bin:$PATH
开始交叉编译:
./configure -embedded arm -xplatform qws/linux-arm-g++ -qt3support -depths 8,16,24,32 -release
gmake
//这个过程需要几个小时
gmake install
//重新编译之前执行,先执行
gmake confclean
部分编译配置解释:
-xplatform linux-arm-g++:表示需要交叉编译,编译的目标平台是
linux-arm-g++。具体可查看XPLATFORM文件。
-depths 8,16,24,32:支持
8,16,24,32位颜色
-qt3support:
qt3库支持(为了升级老版本下的程序)
-no-qt3support:不要
qt3支持
根据开发者本身的开发环境,也可以在
configure的参数中添加别的参数:
-little-endian:小端字节序列,相对-big-endian
-qconfig qpe:表示这次编译是为了支持
QPE(Qtopia),只会生成QPE所需要的库。
-shared:创建利用共享Qt库
-qvfb:
qvfb支持。如果是在开发板上运行,则不需要qvfb。
-no-qvfb:相对-qvfb
-thread,是否支持多线程。选择后会生成
libqte-mt.so库(挺大的)。
-system-jpeg -gif:图形文件支持
交叉编译完后,默认程序和库都安装到
/usr/local/Trolltech/QtopiaCore-4.3.1目录下。你可以在编译配置下利用-prefix <dir>来设置自己的目标目录。
-------------------------------------------------------------------------------
编译后环境变量配置:(
/root/.bash_profile文件)
export QPEDIR=/usr/local/Trolltech/QtopiaCore-4.3.1-arm //目标目录
export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH