Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET
Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET
因为工作需要,要用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的更多相关文章
- 在MyEclipse8.6中设置jQuery自动提示 - 肖飞figo的云计算专栏 - 博客频道 - CSDN.NET
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/augusdi/article/details/12833235 CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET CUDA ...
- libcurl 多线程使用注意事项 - Balder~专栏 - 博客频道 - CSDN.NET
libcurl 多线程使用注意事项 - Balder~专栏 - 博客频道 - CSDN.NET libcurl 多线程使用注意事项 分类: C/C++学习 2012-05-24 18:48 2843人 ...
- DOS日期和时间 - Robin Hu的专栏 - 博客频道 - CSDN.NET
body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-ser ...
- ibatis 学习笔记 3 - pfpfpfpfpf的专栏 - 博客频道 - CSDN.NET
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN
C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN.NET 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够 ...
- 基于视觉信息的网页分块算法(VIPS) - yysdsyl的专栏 - 博客频道 - CSDN.NET
基于视觉信息的网页分块算法(VIPS) - yysdsyl的专栏 - 博客频道 - CSDN.NET 于视觉信息的网页分块算法(VIPS) 2012-07-29 15:22 1233人阅读 评论(1) ...
- Extjs4---Cannot read property 'addCls' of null - heirenheiren的专栏 - 博客频道 - CSDN.NET
body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLi ...
- css控制div显示/隐藏方法及2种方法比较原码 - czf164的专栏 - 博客频道 - CSDN.NET
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
随机推荐
- MySQL varchar和char类型
varchar和char是两种最主要的字符串类型.不幸的是,很难精确地解释这些值是怎么储存在磁盘和内存中的,因为这根存储引擎的具体实现有关.下面的描述假设使用的存储引擎是InnoDB或者MyISAM. ...
- SimpleXML 使用详细例子
要处理XML 文件,有两种传统的处理思路:SAX 和DOM.SAX 基于事件触发机制, 对XML 文件进行一次扫描,完成要进行的处理:DOM 则将整个XML 文件构造为一棵DOM 树,通过对DOM 树 ...
- bzoj 1085: [SCOI2005]骑士精神 IDA*
题目链接 给一个图, 目标位置是确定的, 问你能否在15步之内达到目标位置. 因为只有15步, 所以直接ida* #include<bits/stdc++.h> using namespa ...
- ny 58 最少步数 (BFS)
题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=58 就是一道简单的BFS 练习练习搜索,一次AC #include <iostream& ...
- Springmvc+Spring+Hibernate搭建方法及实例
Springmvc+Spring+Hibernate搭建方法及实例
- swith
“开关”(Switch)有时也被划分为一种“选择语句”.根据一个整数表达式的值,switch语句可从一系列代码选出一段执行.它的格式如下: switch(整数选择因子) { case 整数值1 : 语 ...
- SGU 319 Kalevich Strikes Back(线段树扫描线)
题目大意: n个矩形,将一个大矩形分成 n+1 块.矩形之间不重合,可是包括.求这n+1个矩形的面积 思路分析: 用线段树记录他们之间的父子关系.然后dfs 计算面积. 当给出的矩形上边的时候,就要记 ...
- Android 架构【转】
import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app ...
- 整数数组的定义,然后输入一个整数X,假定X不在这个数组,返回小于X位置的最大数目i而超过X位置的最小数目j
//整数数组的定义,然后输入一个整数x,假定X不在这个数组,返回小于X位置的最大数目i而超过X位置的最小数目j: //如果X在该阵列,返回位置的阵列中的数. 资源: #include<iostr ...
- Uploadif稍做扩展使用
文章出自Uploadify扩展配置使用http://www.wuyinweb.com/doc/52/57.aspx 在做项目中涉及多文件上传,经过筛选,选择了Uploaidify,但还涉及一个问题,就 ...