您的位置:首页 > 编程语言 > Qt开发

基于6410的qt广告机移植小记

2012-05-17 13:38 148 查看
请按以下具体步骤操作:

1、确定需要有的几个文件:

a)、 qtopia-core-opensource-src-2.1.1.tar.gz Qtopia库源码包

b)、交叉编译器是arm-2009q1,可执行文件是arm-none-linux-gnueabi-gcc(网上能找到,注意要设置好交叉编译器才可以进行后面的步骤)

c)、 qt的界面源程序 project_stu(这个是专门在开发板上用的,增加了只能在开发板上运行的代码)

d)、交叉编译好的视频播放器可执行程序mplayer (这个是用网上开源的mplayer播放器源码包经过交叉编译得到的)

e)、 qmake.conf文件(交叉编译qtopia时使用)



2、交叉编译Qtopia:

a)、解压缩qtopia-core-opensource-src-2.1.1.tar.gz,进到解压缩后得到的那个目录下,用qmake.conf替换此qtopia源码包目录下mkspecs/qws/linux-arm-g++目录中的qmake.conf

b)、在源码包根目录下,执行下面的命令(可以粘贴进去)

./configure -embedded arm -DQT_QLOCALE_USES_FCVT \

-qt-mouse-pc -qt-freetype -no-cups -no-nis -no-iconv \

-no-qdbus -qt-libjpeg -qt-libpng -qt-gif -qt-zlib \

-no-rpath -no-qt3support -no-largefile -no-accessibility \

-no-stl -no-libmng -little-endian -prefix /opt/QtPalmtop



c)、中间会有两次输入提示:

第一次提示你输入时,输入yes,回车

第二次提示输入时直接回车

configure完成



d)、输入sudo -s,输入root用户口令,然后输入make开始编译



e)、输入make install,qtopia库会自动安装到PC机的/opt/QtPalmtop下。

这个是PC机上交叉编译Qt程序时用到的库,同样这个库需要拷贝一份到开发板上的同名目录下,不过开发板上的/opt下没位置可以拷贝,需要先插上一片sd卡到开发板上,把卡格式化成EXT3文件系统格式,挂载sd卡到开发板/sdcard目录下(挂载是自动完成的,重启开发板就能识别sd卡并挂载成功),然后拷贝这个编译好的库到/sdcard目录下:


以NFS挂载开发板,假设nfs目录是pc机上的/home/akaedu/rootfs目录。

pc机上把库目录拷贝到nfs目录,执行 cp -a /opt/QtPalmtop
/home/akaedu/rootfs


开发板上拷贝库到sd卡上,假设nfs挂载到了开发板的/mnt下,执行
mkdir -p /sdcard/opt;cp -a /mnt/QtPalmtop /sdcard/opt/

在开发板上执行mv /opt /opt_bak;ln -s /sdcard/opt /opt





f)、在开发板的/etc目录下,修改profile文件,在最后增加三行

export LD_LIBRARY_PATH=/opt/QtPalmtop/lib

export QWS_DISPLAY="LinuxFb:/dev/fb1"

export QWS_SIZE="800x480"



此时开发板上就有库可以执行Qt程序了。



3、交叉编译project_stu:

PC机上解压缩project_stu.tar.bz2,进到解压缩之后的project_stu目录下

执行/opt/QtPalmtop/bin/qmake -project

(如果Qt程序中使用了QTcpSocket类,有网络相关代码,需在此时增加一步,修改project_stu目录下的project_stu.pro文件,在最后增加一行
QT += network,这个可以不用加)

再执行/opt/QtPalmtop/bin/qmake

再执行make,最后在此目录中得到一个交叉编译后的可执行文件,与目录名相同,叫project_stu,此文件显示project_stu/pic目录下的jpg文件和project_stu目录下的theme1.png文件,所以不能单独拷贝此文件到开发板,而应该拷贝整个project_stu目录到开发板上,任意路径下均可,推荐拷贝到sd卡目录下。



4、重启开发板,在开发板上执行:

进到project_stu目录,执行./project_stu -qws -nomouse,正常的话,此时应该能在fb1这一层上显示Qt界面了。



5、下面要在fb0这一层上显示视频,fb0在下,fb1层在上,fb1中Qt界面的黑色部分是透明的,会显示fb0中的视频:

a)、把mplayer可执行程序拷贝到开发板上的/sdcard目录下

b)、在开发板/etc/init.d目录下修改rcS文件,在最后增加两行:

cd /sdcard/project_stu && ./project_stu -qws -nomouse &

cd /sdcard && ./mplayer -x 540 -y 350 (某一个开发板上的视频文件名)

c)、上面的视频文件需用视频处理工具把视频原始大小正好调整为540x350,否则交由mplayer来缩放的话,视频播放速度明显很卡,因为mplayer是软件解码的,缩放图像到播放器大小需要大量的CPU运算。视频文件尺寸大小调整工具windows下有很多,请在网上找找看。在windows上下载一个转换工具,安装并转换视频文件。

6、重启开发板,应该就可以看到期待的效果了:Qt和mplayer窗口重叠在一起执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: