转载自:http://my.oschina.net/u/257674/blog/167050

官方文档:

http://trac.webkit.org/wiki/BuildingQtOnLinux#DependenciesforspecificLinuxdistributions

在 ubuntu-12.04 上编译 Webkit ,所用的版本 r117946,这个版本是比较老的版本,因为我开始尝试新的版本的时候无法编译成功。后来同学建议我用比较老的版本,于是便使用这个版本。

基于 Qt :

安 装 sudo apt-get install libxslt-dev gperf bison libsqlite3-dev flex libqt4-dev build-essential subversion libenchant-dev libXt-dev ;如果有其他库没有安装,根据提示,用 apt-get install 安装,如果不知道包的名称,可以用 apt-get search NAME 搜索。

设置Qt编译环境变量 export QTDIR=/usr/share/qt4/

进到 WebKit 目录下,开始编译: ( 以下默认为此目录 )

QTDIR=/usr/share/qt4/ ./WebKitTools/Scripts/build-webkit --qt --debug   (调试的话要加--debug,如果不调试可以不加--debug)

如果你只使用 WebKit 而不管内部结构,可以不用 --debug 选项; 

如果是第一次编译,而且你用的机器性能又一般,那么时间会长一点;

中间可能出现错误,比如文件找不到,那么你要看看是哪个包的文件,要将这个包安装一下,诸如此类。

我个人运行过程中除了一个问题,由于我是在虚拟机中运行的,出现:Qt编译webkit 的时候出现问题:

collect2: ld terminated with signal 9 [Killed]

make[3]: *** [../lib/libQtWebKit.so.4.8.1] Error 1

make[3]: Leaving directory `/home/bruce/src/WebKit-r117946/WebKitBuild/Debug/Source'

make[2]: *** [sub-api-pri-make_default-ordered] Error 2

make[2]: Leaving directory `/home/bruce/src/WebKit-r117946/WebKitBuild/Debug/Source'

make[1]: *** [sub-Source-QtWebKit-pro-make_default-ordered] Error 2

make[1]: Leaving directory `/home/bruce/src/WebKit-r117946/WebKitBuild/Debug'

make: *** [incremental] Error 2

是因为使用的VM 内存耗尽。扩充内存后重新运行,编译成功。

(此问题原因参见:http://blog.csdn.net/fancsxx/article/details/5593297

编译成功之后,会有提示信息 

      ================================================== 

                    WebKit is now built (1h:04m:28s). 

                     To run QtLauncher with this newly-built code, use the 

                     "WebKit/WebKitTools/Scripts/run-launcher" script. 

     ================================================== 

然后可用脚本 run-launcher 运行。

注意,运行的时候,如果前面不是--debug情况下编译的,那直接运行run-launche --qt 就可以了,如果编译的时候有加--debug,则需要运行 run-launcher --qt --debug 否则会出如下问题:   Can't
find built framework at "/home/bruce/src/WebKit-r117946/WebKitBuild/Release/lib/libQtWebKit.so".

最新文章

  1. PHP安装mysql.so扩展
  2. HTML页面实现返回顶部效果 go to top
  3. Unity3D脚本语言UnityScript初探
  4. 关于IOS的蓝牙(转)
  5. spring 整合JDBC
  6. 利用switch语句进行多选一判断。
  7. 记一次lvs-tunnel模式的故障分析(7)
  8. 关于js dtGrid报错长度的问题
  9. MyBatis学习笔记(二) Executor
  10. wampserver 的默认首页设置
  11. [转载][IoC容器Unity]第二回:Lifetime Managers生命周期
  12. 在Vue的构造器里我们写一个add方法,然后我们用实例的方法调用它
  13. Codeforces 833 C - Ever-Hungry Krakozyabra
  14. DVWA-CSRF
  15. h5文件(.h5和.hdf5)
  16. 【LeetCode算法题库】Day5:Roman to Integer & Longest Common Prefix & 3Sum
  17. java基础78 Servlet的生命周期
  18. mysql 查询昨天,今天、七天、30天的数据
  19. 网络硬盘录像机和数字硬盘录像机区别(nvr dvr ipc区别)
  20. vue-router.esm.js?fe87:16 [vue-router] Route with name 'page' does not exist

热门文章

  1. ubuntu配置机器学习环境(四) 安装intel MKL
  2. 总结Verilog中always语句的使用
  3. PHP.40-TP框架商城应用实例-后台15-商品属性与库存量1-不同商品(唯一属性、可选属性),属性类型
  4. javascript 自定义发布与订阅
  5. Linux下启动Oracle服务和监听程序步骤
  6. 位运算 & 网络序字节序
  7. Freemarker 的 Shiro 标签使用详解
  8. Qt Qwdget 汽车仪表知识点拆解1 速度表示
  9. Kotlin操作符重载:把标准操作加入到任何类中(KAD 17)
  10. (转)基于CUDA的GPU光线追踪