首先,下载zgcc2-95-3.cramfs和JustReader 2.2.0的代码(从Google上搜一下吧),拷贝到SD卡上。
然后,在Zaurus上打开Console,并执行如下命令:
su
mkdir -p /mnt/zgcc
mount -t cramfs /mnt/card/zgcc2-95-3.cramfs /mnt/zgcc -o loop
这里,zgcc目录必须建立在/mnt中,否则在编译JustReader过程中,会报错。
接着,在Console中继续执行命令,以配置C/C++的开发环境。
./mnt/card/zgcc-config
export GCC_EXEC_PREFIX=/mnt/zgcc/lib/gcc-lib/arm-linux/2.95.2/
export COMPILER_PATH=/mnt/zgcc/bin:/mnt/zgcc/lib/gcc-lib/arm-linux/2.95.2/
export CPATH=/mnt/zgcc/include/
export LIBRARY_PATH=/mnt/zgcc/lib/:/mnt/zgcc/lib/gcc-lib/arm-linux/2.95.2/:/lib/:/home/QtPalmtop/lib/
export CPLUS_INCLUDE_PATH=/mnt/zgcc/include/g++-3/
PATH=/mnt/zgcc/bin:$PATH
export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/zgcc/lib
export LD_LIBRARY_PATH
TMAKEPATH="/mnt/zgcc/tmake/lib/sharp-onboard/"
export TMAKEPATH
ln -sf /lib/libc.so.6 /usr/lib/libc.so
ln -sf /lib/libm.so.6 /usr/lib/libm.so
ln -sf /mnt/zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /home/QtPalmtop/lib/libstdc++-libc6.2-2.so.3
ln -sf /mnt/zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /usr/lib/libstdc++-libc6.2-2.so.3
配置完成之后,进入JustReader 2.2.0的代码目录,执行make命令,编译就开始了。
第一次编译会花比较长的时间,需要点耐心。以后再编译就好了,只编译修改过的代码。
编译完成之后,一个新的JustReader可执行程序:justreader,就会出现在代码目录的bin目录中。
如果已经安装过JustReader 2.2.0,就可以将新生成的justreader,覆盖/opt/QtPalmtop/bin/中的justreader.再打开JustReader,就是自己编译的JustReader了。
因为JustReader在显示字典的内容时使用的是系统默认的字体(lcfont),该字体不支持UTF-8的音标的显示。所以需要通过修改代码来达到用 efont字体显示UTF-8音标的效果。修改很简单,因为需要修改的代码只有一行,就是Control.cpp的showTranslation方法中的第一行代码。
原来代码是:QFont defaultFont = QApplication::font();
修改后的代码是:QFont defaultFont = QFont("efont", 16);
在编译一下,就OK了。
这是学习Zaurus上编译开源程序的第一篇,欢迎提意见。
然后,在Zaurus上打开Console,并执行如下命令:
su
mkdir -p /mnt/zgcc
mount -t cramfs /mnt/card/zgcc2-95-3.cramfs /mnt/zgcc -o loop
这里,zgcc目录必须建立在/mnt中,否则在编译JustReader过程中,会报错。
接着,在Console中继续执行命令,以配置C/C++的开发环境。
./mnt/card/zgcc-config
export GCC_EXEC_PREFIX=/mnt/zgcc/lib/gcc-lib/arm-linux/2.95.2/
export COMPILER_PATH=/mnt/zgcc/bin:/mnt/zgcc/lib/gcc-lib/arm-linux/2.95.2/
export CPATH=/mnt/zgcc/include/
export LIBRARY_PATH=/mnt/zgcc/lib/:/mnt/zgcc/lib/gcc-lib/arm-linux/2.95.2/:/lib/:/home/QtPalmtop/lib/
export CPLUS_INCLUDE_PATH=/mnt/zgcc/include/g++-3/
PATH=/mnt/zgcc/bin:$PATH
export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/zgcc/lib
export LD_LIBRARY_PATH
TMAKEPATH="/mnt/zgcc/tmake/lib/sharp-onboard/"
export TMAKEPATH
ln -sf /lib/libc.so.6 /usr/lib/libc.so
ln -sf /lib/libm.so.6 /usr/lib/libm.so
ln -sf /mnt/zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /home/QtPalmtop/lib/libstdc++-libc6.2-2.so.3
ln -sf /mnt/zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /usr/lib/libstdc++-libc6.2-2.so.3
配置完成之后,进入JustReader 2.2.0的代码目录,执行make命令,编译就开始了。
第一次编译会花比较长的时间,需要点耐心。以后再编译就好了,只编译修改过的代码。
编译完成之后,一个新的JustReader可执行程序:justreader,就会出现在代码目录的bin目录中。
如果已经安装过JustReader 2.2.0,就可以将新生成的justreader,覆盖/opt/QtPalmtop/bin/中的justreader.再打开JustReader,就是自己编译的JustReader了。
因为JustReader在显示字典的内容时使用的是系统默认的字体(lcfont),该字体不支持UTF-8的音标的显示。所以需要通过修改代码来达到用 efont字体显示UTF-8音标的效果。修改很简单,因为需要修改的代码只有一行,就是Control.cpp的showTranslation方法中的第一行代码。
原来代码是:QFont defaultFont = QApplication::font();
修改后的代码是:QFont defaultFont = QFont("efont", 16);
在编译一下,就OK了。
这是学习Zaurus上编译开源程序的第一篇,欢迎提意见。