Qtopia-core-4.3.4在mini2440上的交叉编译移植

转自:http://zhanzhiwei2009.blog.163.com/blog/static/126127332200992283533727/

Qtopia-core-4.3.4在mini2440上的交叉编译移植(成功)

默认分类    2009-10-22 20:35   阅读56   评论0  
字号:    

主机:虚拟机装有Fedora11操作系统,arm-linux-gcc是3.4.1

目标机:友善mini2440开发板,supervivi ,kernel2.6.13自带,7寸触摸屏

qtopia版本:qtopia-core-opensource-src-4.3.4.tar.gz

# tar zxvf qtopia-core-opensource-src-4.3.4.tar.gz

#mv qtopia-core-opensource-src-4.3.4 qtcoresrc434

#cd qtcoresrc434

#./configure  -v -little-endian -embedded arm   -prefix /mnt/nfs/qtcore434

# make

# make install

然后通过nfs挂载到开发板上运行,现在/mnt/nfs/下边一个设定环境变量的文件qtopia434.sh,内容如下:

//qtopia434.sh

#!/bin/sh

export QTDIR=/mnt/nfs/qtcore434

export QPEDIR=/mnt/nfs/qtcore434

export KDEDIR=/mnt/nfs/qtcore434

export QWS_SIZE=480x290

fi

clear

挂载(见我的相关文章nfs挂载问题)

启动开发板,到[root@utu-linux /]#命令窗口下:

[root@utu-linux /]# mount -t nfs -o nolock 192.168.1.200:/mnt/nfs /mnt/nfs

[root@utu-linux /]# cd /mnt/nfs

[root@utu-linux /]# chmod 777 qtopia434.sh

[root@utu-linux /]# ./qtopia434.sh

[root@utu-linux /]# cd examples

选择要启动的应用程序 #./t1 -qws

以上是一位网友所写,按他的做法我出现这样的错误出现这种错误libQtGui.so.4: symbol __floatsidf, version GCC_3.0 not defined in file libgcc_s.so.1 with link time reference。但你只要把arm-linux-gcc的lib考到上面的挂载目录/mnt/nfs,在你的开发板上得还设一环境变量LD_LIBRARY_PATH把它指定到上面提到的lib和qtcore434中的lib

我还试了别一种办法,不用挂载,直接把所有用到的arm-linux-gcc的lib和qtcore434中的lib考到板子上就行,设好上面所有提到的环境变量就行,再把你经过交叉编译的可执行文件考到板子上如(hello),执行./hello -qws  结果就出来了

注意:arm-linux-gcc 的lib不是直接/arm/3.4.1/下的lib而是/arm/3.4.1/arm-linux/下的lib,不过这个库比较大,可以删除很多的,基本上保留librt.*    libgcc*相关的几个就行,具体的可以试着看)

你可能感兴趣的:(ARM,linux,学习)