需要使用的文件:cross-2.95.3.tar.bz2
cross-arm-extra.tar.gz
tmake-1.11.tar.gz
jpegsrc.v6b.tar.gz
e2fsprogs-1.35.tar.gz
qt-x11-2.3.2.tar.gz
qt-embedded-2.3.7.tar.gz
qtopia-free-1.7.0.tar.gz
zlib-1.2.3.tar.gz
konqueror-embedded-snapshot-20030705.tar.gz
1.交叉编译工具的安装
#cd /usr/local/arm
#cp tmake-1.11.tar.gz .
#cp cross-arm-extra.tar.gz .
解压
#mkdir /usr/local/arm/2.95.3/arm-linux/include/uuid
#cp tmake-1.11/lib /usr/local/arm/2.95.3/arm-linux/lib -r
#cp cross-arm-extra/lib /usr/local/arm/2.95.3/arm-linux/lib -r
#cp cross-arm-extra/include /usr/local/arm/2.95.3/arm-linux/include -r
#cp cross-arm-extra/include/uuid/uuid.h /usr/local/arm/2.95.3/arm-linux/include/uuid
安装jpegsrc.v6b.tar.gz
#tar jpegsrc.v6b.tar.gz
#cd jpeg-6b
#./configure -enable-shared
#make
#make clean
#export PATH=/usr/local/arm/2.95.3/bin:$PATH
#./configure -enable-shared -prefix=/usr/local/arm/2.95.3/arm-linux
修改Makefile
/*
CC=arm-linux-gcc
AR=arm-linux-ar rc
AR2=arm-linux-ranlib
#make
#make install -lib
install时会提示出现错误:哪些目录没有被创建,根据提示,创建相应的目录即可。
#cp libjpeg.so /usr/local/arm/2.95.3/arm-linux/lib
在/etc/profile中添加:
PATH=/usr/local/arm/2.95.3/bin:$PATH
编译zlib-1.2.3.tar.gz
tar -xzvf zlib-1.2.3.tar.gz
export CC=arm-linux-gcc
./configure -prefix=/usr/local/arm/2.95.3/arm-linux
修改Makefile
AR=arm-linux-ar -rc
RANLIB=arm-linux-ranlib
make
make install (这步不走,出现cannot find -lz的错误)
1.arm-linux-g++命令找不到:
设置环境变量 export PATH=/usr/local/arm/2.95.3/bin:$PATH
2.找不到uuid.h和cannot find -lqtopia的问题;
到网上下载一个e2fsprogs-1.35.tar.gz包,然后执行:
#tar xzf e2fsprogs-1.35.tar.gz
#cd e2fsprogs-1.35
#./configure -host=arm-linux -with-cc=arm-linux-gcc -with-linker=arm-linux-ld -enable-elf-shlibs -prefix=/usr/local/arm/2.95.3/arm-linux
#make
#make install lib/uuid/
将e2fsprogs-1.35/lib/目录下uuid的文件夹复制到/armsys2410/qt_arm/qtopia/include下
将e2fsprogs-1.35/lib/中的libuuid.a libuuid.so libuuid..so.1 libuuid.so.1.2复制到/armsys2410/qt_arm/qtopia/lib下。
3.lib/libuuid.so.1:could not read symbols:
将e2fsprogs-1.35/lib/中的libuuid.a libuuid.so libuuid..so.1 libuuid.so.1.2复制到/usr/local/arm/2.95.3/arm-linux/lib下.
4.tmake 版本至少需要1.11的问题:
设置环境变量 export PATH=$TMAKEDIR/bin:$PATH
5./usr/local/arm/2.95.3/arm-linux/bin/ld: cannot find -ljpeg
下载jpegsrc.v6b.tar.gz到qtarm目录并解压,进入目录jpeg-6b:
./configure --enable-shared
make (得到libtools程序)
./configure --enable-shared
修改生成的Makefile文件:
prefix = /qtarm/qt (qte的路径)
CC =/usr/local/arm/2.95.3/bin/arm-linux-gcc
AR =/usr/local/arm/2.95.3/bin/arm-linux-ar rc
AR2=/usr/local/arm/2.95.3/bin/arm-linux-ranlib
cp jconfig.doc jconfig.h
mkdir -p /qtarm/qt/man/man1
make
生成的libjpeg.so在.libs下,将libjpeg.so拷贝到/usr/local/arm/2.95.3/bin/arm-linux/lib下.
checking for libz...的问题:安装zlib-1.2.3.tar.gz,根据错误提示,将zlib.h和zconf.h拷到相应的目录。
另:编译出现问题修改后要make clean,再configure后make。