Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET

分类: Qt Webkit 2012-04-12 15:18 4004人阅读 评论(2) 收藏 举报

因为工作需要,要用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

 

六、结束,请多看文档。

 

 

Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET的更多相关文章

  1. 在MyEclipse8.6中设置jQuery自动提示 - 肖飞figo的云计算专栏 - 博客频道 - CSDN.NET

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  2. CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET

    http://blog.csdn.net/augusdi/article/details/12833235 CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET CUDA ...

  3. libcurl 多线程使用注意事项 - Balder~专栏 - 博客频道 - CSDN.NET

    libcurl 多线程使用注意事项 - Balder~专栏 - 博客频道 - CSDN.NET libcurl 多线程使用注意事项 分类: C/C++学习 2012-05-24 18:48 2843人 ...

  4. DOS日期和时间 - Robin Hu的专栏 - 博客频道 - CSDN.NET

    body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-ser ...

  5. ibatis 学习笔记 3 - pfpfpfpfpf的专栏 - 博客频道 - CSDN.NET

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  6. C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN

    C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN.NET 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够 ...

  7. 基于视觉信息的网页分块算法(VIPS) - yysdsyl的专栏 - 博客频道 - CSDN.NET

    基于视觉信息的网页分块算法(VIPS) - yysdsyl的专栏 - 博客频道 - CSDN.NET 于视觉信息的网页分块算法(VIPS) 2012-07-29 15:22 1233人阅读 评论(1) ...

  8. Extjs4---Cannot read property 'addCls' of null - heirenheiren的专栏 - 博客频道 - CSDN.NET

    body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLi ...

  9. css控制div显示/隐藏方法及2种方法比较原码 - czf164的专栏 - 博客频道 - CSDN.NET

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

随机推荐

  1. Oracle操作数据库oracleHelper

    1 Oracle OracleHelper //============================================================================ ...

  2. leetcode Integer to Roman python

    class Solution(object): def intToRoman(self, num): """ :type num: int :rtype: str &qu ...

  3. textarea中的空格与换行

    当在一个textarea标签中键入一个回车时,实际上会插入2个符号:\n\r在javascript里, line breaks用\n表示when you pull text into Javascri ...

  4. Android ActionBar详解(三)--->ActionBar的Home导航功能

    FirstActivity如下: package cc.testsimpleactionbar2; import android.os.Bundle; import android.app.Activ ...

  5. CSS中的特殊性、继承、层叠

    前言 最近在看<CSS权威指南>,书中第三章“结构和层叠”对特殊性的解释十分到位,今天就来整理下思路,记录如下. 初来乍到,有何不妥请多多指点,有时间的话顺便评论下,讨论讨论~ 引入问题

  6. [LeetCode]题解(python):136-Single Number

    题目来源: https://leetcode.com/problems/single-number/ 题意分析: 给定一个数组,每个数都出现了2次,只有一个出现了一次,找出这个数.要求时间复杂度O(n ...

  7. WPF中如何获取ControlTemplate中的对象

    原文 http://www.silverlightchina.net/html/study/WPF/2010/1116/3418.html 先看一段XAML代码: 1 2 3 4 5 6 7 8 9 ...

  8. poj 3269 Building A New Barn

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...

  9. perl 爬取同花顺数据

    use LWP::UserAgent; use utf8; use DBI; $user="root"; $passwd='xxx'; $dbh=""; $db ...

  10. Android利用tcpdump和wireshark抓取网络数据包

    Android利用tcpdump和wireshark抓取网络数据包 主要介绍如何利用tcpdump抓取andorid手机上网络数据请求,利用Wireshark可以清晰的查看到网络请求的各个过程包括三次 ...