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& ...
随机推荐
- if和switch
在 JavaScript 中,我们可使用以下条件语句:if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码if...else 语句 - ...
- vsvim _vsvimrc 设置(转)
c_joewang的专栏 (转) vsvim安装到vs2010后可以使用绝大部分原生vim的编辑功能,包括宏录制,也可以通过配置设置键盘映射,关于支持的编辑功能等可以参考上面链接去查看相关文档. Vi ...
- 共享bean
到此为止,对于jsp:useBean创建的对象,我们都将它们看作是_jspService方法中的局部变量来处理(jspService由页面生成的servlet的service方法调用).虽然bean的 ...
- C++_基础_类和对象
内容: (1)引用 (2)类型转换 (3)C++社区给C程序员的建议 (4)面向对象编程的概念 (5)类和对象 (6)构造函数 (7)初始化列表及其必要性 1.引用1.1 指针和引用的使用说明(1)指 ...
- socket中的option
/// Set an option on the socket. /** * This function is used to set an option on the socket. * * @pa ...
- Lua for Windows入门01
由于项目紧急,我都没来得及研究lua的基本知识就直接持枪上阵了.在实施编写的过程中,却次发现编程语言如此之美,第一次. 随着Lua+for+Windows+5.1.4-45版本的完全安装,最后跳出了一 ...
- BZOJ 2762: [JLOI2011]不等式组( 平衡树 )
对不等式变形..然后就是维护一些数, 随便找个数据结构都能写吧....用double感觉会有精度误差, 分类讨论把<改成<=了很久后弃疗了, 自己写了个分数体....然后速度就被完爆了.. ...
- Models——英语学习小技巧之四
Models are very important, here model means role model, is kind of like a hero. It's someone that ...
- delphi R3下 跨进程获取DLL信息 NtQueryInformationProcess
unit APIUnit; { GetProcessModuleHandle API Unit Ring3调用NtQueryInformationProcess实现跨进程获取DLL句柄 } inter ...
- 用1个 2个3个 5个div实现 十字架
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...




