Qtopia-2.2.0 原始版本是不带文件浏览器的,我移植了Qtopia-1.7.0 中自带的文件管理器,它们的功能和界面是完全相同的。
Ø 1 从qtopia-1.7.0中拷贝filebrower源代码
先解压qtopia-free-1.7.0得到源代码,copy出文件浏览器的源代码,以备下面的交叉编译!
cp ../qtopia-free-1.7.0/src/applications/filebrowser/ ./ -ravf //copy文件浏览器的源代码
cp ../qtopia-free-1.7.0/apps/Applications/filebrowser.desktop ./filebrowser/ -v //快捷方式
cp ../qtopia-free-1.7.0/pics/inline/FileBrowser.png ./filebrowser/ -v //文件浏览器图标
Ø 2 设置交叉编译的环境变量:
假设已经交叉编译安装好了qtopia-2.2.0,以及交叉编译工具链arm-linux-3.3.2,设置相关的环境变量!
source /usr/local/qtopia-arm-2.2.0/qtopia-free-2.2.0/setQpeEnv
PATH选用3.3.2交叉编译工具
Ø 3 修改Makefile
需要修改已经copy出来的filebrowser目录下的Makefile才能使得能够通过交叉编译!
1。 所有的g++换为arm-linux-g++
2。 所有的gcc换为arm-linux-gcc
3。 所有的ar换为arm-linux-ar
4。 所有X11有关的选项删除掉内容
5。 INCPATH加 -I$QPEDIR/../../install-others/include -I$QPEDIR/../../install-tslib-1.4/include
6。 LFLAGS加上-L$QPEDIR/../../install-others/lib -L$QPEDIR/../../install-tslib-1.4/lib
7。 LIBS加上-lpng -lts -lz -luuid -ljpeg
修改all的make项,使得编译的可执行文件在编译目录,而不是$QPEDIR/bin中(默认的安装目录是在实现设好的$QPEDIR目录中)!
Makefile大约182行的all选项中,-o $(DESTDIR)$(TARGET)修改为-o $(TARGET)
Ø 4 编译运行
编译
Make
一般不会出现什么编译错误!
copy 到 arm 板上:
mkdir -p root/opt/Qtopia/pics/filebrowser/
cp filebrowser/filebrowser root/opt/Qtopia/bin/ -v
cp filebrowser/filebrowser.desktop root/opt/Qtopia/apps/ARM2410/ -v
cp filebrowser/FileBrowser.png root/opt/Qtopia/pics/filebrowser/FileBrowser.png
ok!移植成功!
原创作品,转载请注明原作者及地址!
by 飞鸿惊雪