当前位置: 首页 > news >正文

在Linux上使用Qt编译WebKit

Webkit 是 Apple Safari 和 KDE Konqueror 浏览器的核心, 作为一套优秀的轻量级的浏览器排版引擎,已获得Qt的支持,在新的Qt版本4.4中, 已经集成了WebKit引擎. 下面我们就来编译基于Qt的WebKit.

Dependencies


编译WebKit需要以下软件:

Qt version 4.3 or later.

gperf.

sqllite.

bison.

flex version 2.5.33 or later.

libxslt.

由于我采用的平台是Fedora 8,基本上都安装好了, 只需要gperf和Qt了.

下载

Qt采用的版本是qt-x11-preview-opensource-src-4.4.0-tp1.tar.gz

ftp://ftp.trolltech.com/qt/source/qt-x11-preview-opensource-src-4.4.0-tp1.tar.gz

解压缩

tar -zxvf qt-x11-preview-opensource-src-4.4.0-tp1.tar.gz

cd qt-x11-preview-opensource-src-4.4.0-t

配置

./configure \
-prefix /opt/QtX11-4.4-tp1/ \
-release -shared \
-fast \
-system-sqlite \
-no-openssl \
-nomake examples -nomake demos \
-optimized-qmake \
-no-nis \
-no-cups \
-no-separate-debug-info

编译

gmake

note:主力需要经过漫长的等待:)

安装

gmake install


Build Qt

Build WebKit

准备
从webkit.org下载WebKit源代码

http://nightly.webkit.org/files/trunk/src/WebKit-r29336.tar.bz2

设置QTDIR环境变量, FC8默认安装的是Qt 3.3.8 版本,默认的QTDIR变量设置为/usr/lib/qt-3.3

QTDIR=/usr/lib/qt-3.3

我们要设置为新版本QT的安装位置

这里为/opt/QtX11-4.4-tp1/

export QTDIR=/opt/QtX11-4.4-tp1/

还需要讲qt-3.3.8的bin目录从PATH中去掉, 不然会引用qt-3.3.8的qmake造成无法生成Makefile文件

export PATH=$QTDIR/bin:$PATH


编译

QTDIR=/opt/QtX11-4.4-tp1/ ./WebKitTools/Scripts/build-webkit

经过漫长的等待后就会在WebKitBuild/Release/bin下生成QtLauncher

测试

在xwindows下

cd WebKitBuild/Release/bin

./QtLauncher about:blank

./QtLauncher www.google.com

显示速度很快, 测试新浪网, 中文显示正常. 大功告成: )



note:

Firefox是基于Gecko引擎进行网页排版

IE则是以Trident作为其网页排版引擎的

Konqueror以KHTML 为引擎的

相关文章:

  • python 进度条_Python 如何实时显示进度条?
  • Massive Customization
  • python 批量下载财务数据_Python+Wind 批量下载上市公司年报 - Part 1/2
  • 使用qmake 单独生成Qt程序
  • 检测同心圆_负氧离子检测仪的工作原理与选择
  • oracle wrost practics
  • 物联网专科专业必修课程_河南专升本专科专业热度统计
  • FreeXploiT 成立三年感言!
  • springboot如何保证几个insert语句在同一个事务里_dele锁te amp; insert 死
  • 出国申请PS注意事项
  • python分析彩票_重庆青少年编程Python
  • Windows Embedded CE 6.0开发初体验(六)平台定制
  • python做游戏用什么库_Python库之游戏开发及虚拟现实
  • 纪晓岚
  • 浙江大学pta答案python第七章_Pta mooc“Python编程浙江大学”拼图题集第7章问答,PTAMOOCPython,程序设计,拼题,题目,第七章,及,代码,答案...
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • bearychat的java client
  • Hexo+码云+git快速搭建免费的静态Blog
  • Java面向对象及其三大特征
  • JS基础之数据类型、对象、原型、原型链、继承
  • miaov-React 最佳入门
  • python 装饰器(一)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • text-decoration与color属性
  • 测试如何在敏捷团队中工作?
  • 电商搜索引擎的架构设计和性能优化
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 关于for循环的简单归纳
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 思维导图—你不知道的JavaScript中卷
  • 通过npm或yarn自动生成vue组件
  • 线性表及其算法(java实现)
  • 小李飞刀:SQL题目刷起来!
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • #define用法
  • #NOIP 2014#Day.2 T3 解方程
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1) caustics\
  • (20050108)又读《平凡的世界》
  • (4)logging(日志模块)
  • (4)STL算法之比较
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (蓝桥杯每日一题)love
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十一)手动添加用户和文件的特殊权限
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)shell调试方法