Qtwebkit配置,设置交叉编译环境
因为工作需要,要用Qtwebkit在机顶盒中做浏览器,所以首先要在盒子中把Qtwebkit的demo程序跑起来,再接着后面的开发,在跑程序之前,我们要做一些前期的准备工作。
一、搭建交叉编译环境
因为这次盒子支持的编译器为:arm-none-linux-gnueabi,所以需要先在linux上安装这个交叉编译器,我的做法是在/opt目录下新建一个arm-gnueabi目录,并把编译器解压到该目录(具体命令就不用说了吧)。
安装好交叉编译器后,需要指定编译器的PATH路径,如:export PATH=/opt/arm-gnueabi/arm-none-linux-gnueabi/bin:$PATH
二、下载Qtwebkit代码(暂定使用4.8.1版本)
1、下载Qtwebkit代码地址:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.1.tar.gz
2、在自己的linux机器的/home目录下新建一个qt的目录用于存放Qtwebkit代码,把下载好的Qtwebkit代码放到新建的qt目录中,并解压:tar zxvf qt-everywhere-opensource-src-4.8.1.tar.gz。解压后会在qt中看到解压后的目录:qt-everywhere-opensource-src-4.8.1,我们就是要在qt-everywhere-opensource-src-4.8.1目录中配置Qtwebkit和编译,先cd把当前目录跳转到qt-everywhere-opensource-src-4.8.1目录吧,我们要进行第三步骤了。
三、配置Qtwebkit编译选项
配置Qtwebkit需要使用configure命令,因为我们是要在机顶盒上面跑demo程序,所以属于嵌入式设备,查看嵌入式设备可以使用哪些配置选项可以使用命令:./configure -embedded -help
我这次配置使用的命令如下:./configure -embedded arm-gnueabi -xplatform qws/linux-arm-gnueabi-g++ -no-cups -no-stl -no-qvfb -webkit
命令选项使用说明:
-embedded:指定CPU的架构,我使用的是arm的CPU,所以指定了arm-gnueabi。原文说明如下:
-xplatform:指定需要运行的目标板的平台。qt默认支持绝大多数的平台,只要找到自己相对于的平台就行,可以在qt-everywhere-opensource-src-4.8.1/mkspecs目录下找,我的编译器配置位于:qt-everywhere-opensource-src-4.8.1/mkspecs/qws/linux-arm-gnueabi-g++目录下,所以指定的目标板为:qws/linux-arm-gnueabi-g++.
特别说明下:arm,mips的编译器都在qws目录下,可以在该目录下找。另外-xplatform后面跟的是编译器qmake.conf配置所在的路径而不是具体的编译器。
选项原文说明如下:
-no-cups:不编译CUPS部分(CUPS是什么意思请自己查)。原文说明如下:
-no-stl:不编译STL部分。原文说明如下:
-no-qvfb:不使用虚拟的framebuffer。
-webkit:编译webkit部分,我需要使用webkit,所以这个选项是肯定要加上的。原文说明如下:
提示:上面说的步骤可以参考网页:http://qt-project.org/doc/qt-4.8/qt-embedded-install.html
配置命令执行时会出现,请输入o,配置需要比较长的时间,可以去喝杯水:
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
四、编译Qtwebkit。
配置成功后,请输入:make命令开始编译,编译过程非常的久,需要耗时几个小时,请耐心的等待。
五、运行demo
1、挂载我所在的qt目录到板子的/mnt目录下,如:mount -o nolock,tcp 192.168.1.10:/home/qt /mnt
2、指定动态链接库的地址:
export QT_QWS_FONTDIR=/mnt/qt-everywhere-opensource-src-4.8.1/lib/fonts
export LD_LIBRARY_PATH=/mnt/qt-everywhere-opensource-src-4.8.1/lib:/sdklib
说明:QT_QWS_FONTDIR是指定字库的地址,/sdklib是板子SDK的lib库。
3、cd 到该目录执行demo,/mnt/qt-everywhere-opensource-src-4.8.1/demos/browser
4、执行应用程序:./browser -qws
5、如果想打开某一个网页如百度,请使用命令:./browser -qws http://www.baidu.com
六、结束,请多看文档。
更多推荐
所有评论(0)