应用程序的移植(基于Qt3opencv-0.9.7制作)
 
 
 
1、  源程序的交叉编译,生成能够被arm执行的可执行文件“***
 
然后使用命令 arm-linux-readelf –d ***”来查看应用程序所依赖的库(其中“***”为可执行文件的文件名)
        比如:#arm-linux-readelf –d client
               看到的其依赖的库有[libqte.so.3][libcv.so.0][libcvaux.so.0][libcxcore.so.0][libhighgui.so.0][libstdc++.so.5][libm.so.6][libgcc_s.so.1]
并且:Library rpath: [/usr/local/qt-embedded-3.3.0/lib]这个有提示库的路径,但不是都在那里,呵呵,有一些会在那里就是啦!
 
       当然,以可以直接挂载应用程序测试,它也会提示目标机上所缺少的库,但是我没有开发板在身边,所以只能这样了。而且这样比较方便……
 
2、 将可执行文件复制到扩展文件系统junkbin目录下,并将缺少的库文件复制到扩展文件系统junklib目录下(我使用的是北京OURS的实验开发系统,他提供的文件系统有根文件系统,还有扩展文件系统。这样,我只对扩展文件系统junk来裁剪和修改,尽可能不更改根文件系统)。
 
3为了让应用程序图标出现在桌面应用程序列表中,必须添加对应的.desktop文件。在根文件系统rootfs270copy(自己复制一份的根文件系统,以防万一)的usr/qpe/qpps/apps/Application目录下建立文件stopwatch.desktop,大致内容如下:
 
[Desktop Entry]
Comment=A Client Program
Exec=Client -qws
Icon=Client              //桌面显示图标文件,省略扩展名
Type=Application
Name=Client            //桌面应用程序显示名称
Name[no]=Klokke
Name[de]=Uhr
Name[zh_CN]=Client
 
4、设置相应的环境变量,特别是LD_LIBRARY_PATH(共享库的路径),qpe.sh内容如下:
 
export QTDIR=/usr/qpe
export QPEDIR=/usr/qpe
export LANG=zh_CN
export LD_LIBRARY_PATH=/usr/qpe/lib:$LD_LIBRARY_PATH
export QT_TSLIBDIR=/usr/qpe/lib   
export TSLIB_CONFFILE=/usr/qpe/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/qpe/lib
export QWS_MOUSE_PROTO=TPanel:/dev/touchscreen/ucb1x00
#export QWS_MOUSE_PROTO=TPanel:/dev/ts
export KDEDIR=/usr/qpe
cd /usr/qpe/bin
./ts_calibrate         //触摸屏校准程序
./qpe –qws          //启动桌面系统
 
经过上述四个过程后,重新生成根文件系统映像xscale_fs.jffs2和扩展文件系统junk.jffs2,烧写到开发板上,重新启动开发板,就可以看到桌面系统中新增加的应用程序图标,单击图标出现自己的应用程序的界面。
 
 
以上过程步骤是copy My Teacher 的,照着他的步骤做的,感老师!!!