位置: IT常识 - 正文

Qt4.7.4下单独编译QtWebkit(qt 5.15 编译)

编辑:rootadmin
Qt4.7.4下单独编译QtWebkit_奕贤2003_新浪博客Qt4.7.4下单独编译QtWebkit 最近编译出了Qt4.7.4的嵌入式版本,但没有编译QtWebkit库。在编译一个使用Webki Qt4.7.4下单独编译QtWebkit

推荐整理分享Qt4.7.4下单独编译QtWebkit(qt 5.15 编译),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:qt6.0编译,qt6.0编译,qt单独编译指定模块,qt6.0编译,qt简单程序,qt 5.15 编译,qt单独编译指定模块,qt编写软件,内容如对您有帮助,希望把文章链接给更多的朋友!

最近编译出了Qt4.7.4的嵌入式版本,但没有编译QtWebkit库。在编译一个使用Webkit的工程时出错,而根据工程的需要,要单独编译QtWebkit库。

由于不想再次编译整个的Qt库,于是进行了下面的尝试,发现单独编译QtWebkit还是简单的,当然其它模块也是一样的。

具体过程如下:

1.在qt源码包的顶层运行configure配置:

------------------------------------------

./configure -opensource -confirm-license -release \

-prefix /usr/local/arm/qte4.7.4 \

-webkit -qt-zlib -no-script \

-xplatform qws/linux-arm-gnueabi-g++ -embedded armv6 \

-qt-kbd-linuxinput -qt-mouse-linuxinput -plugin-gfx-linuxfb \

-nomake demos -nomake examples -nomake tools -fast \

-L /usr/local/arm/lib -I /usr/local/arm/include

-----------------------------------------------------------

2.生成QtWebKit模块的Makefile文件

进入QtWebKit源码所在的目录./src/3rdparty/webkit.如果在目录中执行make会出错,主要是qmake找不到,因为在这时的Makefile文件中,使用的是固定路径的qmake.

使用以下命令重生成Makefile文件,当然后面的spec路径要根据实际情形设置

qmake WebKit.pro -r -spec /usr/local/arm/qte4.7.4/mkspecs/qws/linux-arm-gnueabi-g++

3.编译make

编译过程中仍出现错误:

-----------------------------------------------------------------------------------------

......

正在进入目录 `/home/dragon/project/qte4.7.4/src/3rdparty/webkit/WebKit/qt/tests/qwebframe'

然后一堆类似这样的错误

../../Api/qwebframe.cpp:21:20: error: config.h: No such file or directory

../../Api/qwebframe.cpp:24:20: error: Bridge.h: No such file or directory

../../Api/qwebframe.cpp:25:23: error: CallFrame.h: No such file or directory

../../Api/qwebframe.cpp:26:22: error: Document.h: No such file or directory

Qt4.7.4下单独编译QtWebkit(qt 5.15 编译)

../../Api/qwebframe.cpp:27:28: error: DocumentLoader.h: No such file or directory......

-----------------------------------------------------------------------------------------

看来忘加-nomake test选项了,但幸好QtWebKit库己编译出来,就不去处理这些错误了。后来经过试验,加上-nomake test编译就不会出现错误了。

4.安装make install

再到安装目录中检查,libQtWebKit.so.4.7.4库己经安装

5.测试使用现在的QtEmbedded来编译一个使用QtWebKit的工程browser,在make过程中出错:

------------------------------------------------------------------------------------------

In file included from /usr/local/arm/qte4.7.4/include/QtWebKit/QWebFrame:1,

from browsermainwindow.cpp:70:

/usr/local/arm/qte4.7.4/include/QtWebKit/qwebframe.h:28:36: error: QtScript/qscriptengine.h: No such file or directory

In file included from /usr/local/arm/qte4.7.4/include/QtWebKit/QWebFrame:1,

from browsermainwindow.cpp:70:------------------------------------------------------------------------------------------

看来QtWebKit依赖QtScript,只好再编译QtScript。

下面是单独编译QtScript模块的过程

这次confiugre的参数配置如下:

------------------------------------------------------------

./configure -opensource -confirm-license -release \

-prefix /usr/local/arm/qte4.7.4 \

-webkit -qt-zlib \

-xplatform qws/linux-arm-gnueabi-g++ -embedded armv6 \

-qt-kbd-linuxinput -qt-mouse-linuxinput -plugin-gfx-linuxfb \

-nomake demos -nomake examples -nomake tools -nomake test -fast \

-L /usr/local/arm/lib -I /usr/local/arm/include

------------------------------------------------------------

与上次配置不同的是去掉了-no-script选项,增加了-nomake test选项

然后进入./src/script目录

qmake script.pro -r -spec /usr/local/arm/qte4.7.4/mkspecs/qws/linux-arm-gnueabi-g++

make

make install

现在再次编译browser工程,终于顺利地单独编译出QtWebKit库。并使用一个工程进行了测试,一切都正常。

从上面的过程可以看出,Qt库的许多模块可以单独编译的。只要先使用configure配置选上需要的模块,注意带上-fast选项和适当的-nomake选项;然后进到相应的模块源码目录中,使用qmake重新生成对应的Makfile文件;在此目录make、make install。如此这般就完成了Qt模块的单独编译.

有人可能会问,为什么要单独编译。当然可以一次就搞定所有模块,不过交叉编译往往由于各种原因,某些模块编译通不过,有时有些模块肯定用不到,总有一些原因造成Qt的模块编译不完整。在这时,不需要再次编译所有的Qt库,只要单独编译就可以的。何乐而不为

本文链接地址:https://www.jiuchutong.com/zhishi/310251.html 转载请保留说明!

上一篇:python类属性设置默认值(python中类的属性)

下一篇:RabbitMQ(rabbitmq如何解决消息堆积问题)

  • 合同负债里面含增值税吗
  • 合伙企业对外长期股权投资收到分红 怎么处理
  • 加盖发票专用章的是
  • 出售闲置的材料物资
  • 小规模纳税人按1%征收增值税
  • 一般纳税人季报利润表怎么填
  • 进项抵欠税相关政策
  • 计入增值税应税销售额
  • 2021印花税零申报怎么报
  • 无运输工具承运业务按何税目缴纳增值税
  • 分公司如何缴纳公积金
  • 上传失败显示网络不佳
  • 应退税款抵扣欠缴税款
  • 社保稳岗补贴可以申请几次
  • 一般纳税人出售不动产增值税税率是多少
  • 2018新个税
  • 1697506445
  • Win11系统怎么更换桌面壁纸
  • 怎么查看当前刷新率
  • 电子承兑到期怎样接收
  • 简易计税分包抵减
  • 平安树的养殖方法和浇水时间
  • 系统托盘开不开
  • 多缴纳税款
  • 出售无形资产的净损失不应计入
  • php类和对象
  • xwizard.exe是什么
  • 应付账款讲解
  • 哪种审计证据可以查出来
  • 开发票为什么要对公账户?
  • 计提下月工资怎么算
  • 怎么让gridview居中
  • PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
  • phpstudy ftp怎么用
  • php getcwd与dirname(__FILE__)区别详解
  • phpcms官网打不开
  • 预收款预缴增值税如何核算的
  • 小企业会计准则和一般企业会计准则的区别
  • 进项税计税依据
  • 小规模不动产租赁要交哪些税
  • 原材料的主要账目有哪些
  • 两个公司发工资公司会发现吗
  • 实收资本的会计编码
  • 小规模印花税有减免政策吗
  • 固定资产拆除怎么处理
  • 公司注销时发现有预付款
  • 不能抵扣的普通发票如何做分录
  • 经费开支要求
  • 支付货款订金入什么科目
  • 所税税汇算补交怎么算
  • 银行询证函费用发票
  • 销售出库单需要盖章吗
  • 应纳税所得额收入总额包括
  • 咨询服务费计入哪里
  • 会计建账的步骤
  • redhat语言设置中文
  • putty怎么连接linux
  • Win10预览版怎么变回正式版
  • Windows Server 2012实用技巧集锦
  • win7访问共享文件
  • win7旗舰版使用ie8特别卡怎么回事?
  • window10关闭
  • js里写css
  • django orm外键
  • nodejs 文档
  • jquery删除节点的元素
  • sqlserver 服务器
  • 你必须知道的最新婚姻法
  • 整型python
  • 拨号器怎么用
  • e87移植
  • jquery图片轮播代码
  • 扣税13个点实际支付金额该怎么算
  • 山东契税补贴政策2023年
  • 如何打印个人所得税的税单
  • 杭州税务稽查举报电话
  • 个人出租商业用房开票税率
  • 什么叫税务备案
  • 研发人员范围
  • 宁波新注册公司什么时候开始报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设