Fedora 12下搭建Qt Creator的ARM开发环境并移植Qt4.6.(2)

上面划掉的蓝色内容,可以不要的,这样编辑也不会出错(虚拟机搞坏了,不得已重装,配置参数时忘了干上面的工作了,结果发现没出错)。


关于配置参数,参照一下这篇文章吧,可以用configure -embedded –help查看。


如果你放弃配置,则使用命令:# gmake confclean


编译:# gmake


安装:# gmake install


安装完成后,在 /usr/local/Trolltech 目录中有三个文件夹:Qt-4.6.2、QtEmbedded-4.6.2、QtEmbedded-4.6.2-arm。


4、移植

我是通过NFS启动的系统,具体操作可以参照友善的手册,在有下载,在第5.5.3节通过NFS启动系统。


Fedora12上  /usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib 中的所有文件复制到/opt/FriendlyARM/mini2440/root_qtopia/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib目录中(对应目录复制,相当于复制到了开发板对应目录中),其实需要的时候可以裁剪,看原文吧。


Fedora12上  /usr/local/tslib 中的库复制到/opt/FriendlyARM/mini2440/root_qtopia/usr/local中。即将/usr/local/tslib下的所有文件复制到/opt/FriendlyARM/mini2440/root_qtopia/usr/local文件夹下。


如果运行时还缺少其他的库,复制方法相同。也可以使用arm-angstrom-linux-gnueabi-readelf -a 程序名 | grep "Share",命令查看需要哪些共享库,一起复制过去。


为支持触摸屏,开机自动设置环境变量,在2440的 /etc/profile中追加:

export LD_LIBRARY_PATH=/usr/local/lib:$QTDIR/lib:$LD_LIBRARY_PATH                                                  

export TSLIB_ROOT=/usr/local/lib    

export TSLIB_TSDEVICE=/dev/input/event0

export TSLIB_FBDEVICE=/dev/fb0 

export TSLIB_PLUGINDIR=/usr/local/lib/ts

export TSLIB_CONSOLEDEVICE=none

export TSLIB_CONFFILE=/usr/local/etc/ts.conf

export POINTERCAL_FILE=/etc/pointercal

export TSLIB_CALIBFILE=/etc/pointercal

export QWS_MOUSE_PROTO=Tslib:/dev/input/event0


取消/usr/local/etc/ts.conf中的第一个注释:

# module_raw input (去掉#,并且该行顶格)

我编辑时没有“#”


启动Micro2440运行 /usr/local/bin/ts_calibrate 校正触摸屏。


到此Qt4.6.2的移植暂告一段落,移植还没有完,此时如果在开发板上运行Qt4.6.2-arm编译的程序,则会出现“relocation error: /usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtGui.so.4: symbol powf, version GLIBCXX_3.4 not defined in file libstdc++.so.6 with link time reference”错误。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/24527.html