位置: 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如何解决消息堆积问题)

  • 分享微博推广细节性的东西(总结出微博的推广方法)

    分享微博推广细节性的东西(总结出微博的推广方法)

  • 拼多多在日历上的日程怎么取消(拼多多那个日历怎么弄掉)

    拼多多在日历上的日程怎么取消(拼多多那个日历怎么弄掉)

  • 海尔洗衣机出现e6怎么处理(海尔洗衣机出现e2是什么情况)

    海尔洗衣机出现e6怎么处理(海尔洗衣机出现e2是什么情况)

  • qq邮箱怎么绑定手机号(qq邮箱怎么绑定企业邮箱)

    qq邮箱怎么绑定手机号(qq邮箱怎么绑定企业邮箱)

  • win10人脉有什么用(windows人脉可以卸载吗)

    win10人脉有什么用(windows人脉可以卸载吗)

  • 华为p40用的是什么处理器(华为p40用的是什么定位芯片)

    华为p40用的是什么处理器(华为p40用的是什么定位芯片)

  • 荣耀30s是否支持光学防抖(荣耀30s是否支持扩展)

    荣耀30s是否支持光学防抖(荣耀30s是否支持扩展)

  • 微信号注销多久会生效(微信号注销多久后公安机关就查不到信息了)

    微信号注销多久会生效(微信号注销多久后公安机关就查不到信息了)

  • qb怎么转到另一个qq号(qb怎么转好友)

    qb怎么转到另一个qq号(qb怎么转好友)

  • fd开头的苹果手机是哪里生产的(苹果fd开头的型号是什么机子)

    fd开头的苹果手机是哪里生产的(苹果fd开头的型号是什么机子)

  • 苹果11pro有nfc功能吗(iphone 11 pro有nfc)

    苹果11pro有nfc功能吗(iphone 11 pro有nfc)

  • 并发数已满是什么意思(并发数怎么算)

    并发数已满是什么意思(并发数怎么算)

  • 咸鱼专拍是什么意思(闲鱼上面的专拍是什么意思)

    咸鱼专拍是什么意思(闲鱼上面的专拍是什么意思)

  • qq硬盘在哪里(qq硬盘的东西哪儿去了)

    qq硬盘在哪里(qq硬盘的东西哪儿去了)

  • vivoz6屏幕刷新率是多少(vivoz6屏幕刷新率在哪条)

    vivoz6屏幕刷新率是多少(vivoz6屏幕刷新率在哪条)

  • 卡贴机有信号但激活sim无效(卡贴机有信号但没4g)

    卡贴机有信号但激活sim无效(卡贴机有信号但没4g)

  • 下载群文件会被发现吗(下载群文件会被盗吗)

    下载群文件会被发现吗(下载群文件会被盗吗)

  • 卸载微信后收藏里的东西还有吗(卸载微信后收藏和朋友圈还有吗)

    卸载微信后收藏里的东西还有吗(卸载微信后收藏和朋友圈还有吗)

  • 可选颜色的快捷键(可选颜色快捷键2022)

    可选颜色的快捷键(可选颜色快捷键2022)

  • 手机充电到80就充不进去了(手机充电到80就不充了)

    手机充电到80就充不进去了(手机充电到80就不充了)

  • win10系统扩大c盘容量(win10电脑如何扩大c盘空间)

    win10系统扩大c盘容量(win10电脑如何扩大c盘空间)

  • vue怎么挪动贴纸位置(vue 粘贴)

    vue怎么挪动贴纸位置(vue 粘贴)

  • 微信腾讯服务怎么设置(微信 腾讯服务)

    微信腾讯服务怎么设置(微信 腾讯服务)

  • iphonexr充电功率(iphonexr充电器功率)

    iphonexr充电功率(iphonexr充电器功率)

  • adsb是什么(ads是什么意思?)

    adsb是什么(ads是什么意思?)

  • 水印相机怎样延时拍摄(水印相机app如何延迟拍摄)

    水印相机怎样延时拍摄(水印相机app如何延迟拍摄)

  • 陌陌为什么不能发视频聊天(陌陌为什么不能评论)

    陌陌为什么不能发视频聊天(陌陌为什么不能评论)

  • 应交税金和应交税费有啥区别
  • 私车公用如何避税
  • 累进税率的税种有哪些
  • 我国的税种有哪些种类
  • 资产负债表的其他流动资产包括哪些
  • 微信支付宝收入计入科目
  • 会计做账借贷怎么做
  • 发票领用簿怎么领发票
  • 罚款所得税调整
  • 股权收购溢价的原因
  • 销售产生的磅差入什么科目?
  • 房地产开发资质管理办法
  • 企业接受基金投资的规定
  • 一般纳税人辅导期
  • 出口退税款计入收入总额吗
  • 其他应付款不需要支付是债务重组么
  • 特种设备培训费计入什么会计科目
  • 固定资产用于免税项目 进项税处理
  • 旧设备出口要交增值税吗
  • 电子发票记账联怎么入账
  • 现金流量表的编制依据
  • 企业年会的费用会计分录
  • windows10最新激活密钥2020
  • win10系统中怎么共享文件
  • win10锁屏壁纸模糊怎么回事
  • win7对话框文本框在哪里
  • win10重装系统后网卡没了
  • 福利费发票已认证怎么查
  • 域名怎么交费
  • 增值税专用发票上注明的价款含税吗
  • nfcmp3
  • 固定资产属于资产要素吗
  • 同一控制下控股合并在合并日合并报表编报正确的有
  • php 无限级分类
  • zencart安装教程
  • css加载是异步的吗
  • 减免增值税附加税也一起减免吗
  • 数据挖掘 实战
  • html5简单小游戏代码
  • php判断字符串是否为ip地址
  • thinkphp跨域请求
  • 建材公司成本率一般多少
  • 多交增值税计入什么科目
  • facebook/scribe · GitHub
  • 售后租回融资租赁帐务处理怎么做?
  • 如何理解合并报表抵消分录
  • 给员工发放礼品的祝福
  • 个税申报数据有误
  • 一般纳税人购入需要安装的生产设备,其入账价值包括
  • Sql Server中Substring函数的用法实例解析
  • 流动资产周转天数高说明什么
  • 一般纳税人月销售额10万以下城建税
  • 合并财务报表内部往来如何抵消
  • 现金折让的账务处理
  • 包材库存
  • 汇算清缴前取得发票可以税前扣除吗
  • 个体工商户的纳税标准
  • 应付账款余额为0怎么写
  • 海关进口代理公司名称
  • 企业取得的土地使用权用于自行开发建造厂房
  • mysql8高可用
  • 该卡已在其他账户中存在什么意思
  • win8老是弹出广告
  • WP8版Creative Camera:相机详情介绍(图文)
  • Windows 2000中NTFS磁盘权限应用
  • centos配置网络地址
  • Fedora Core 5.0 安装教程,菜鸟图文教程(linux text)
  • 电脑bios启动项设置中文
  • centos6启动不了
  • centos删除vg
  • win7系统开机黑屏如何处理
  • css ul
  • python上传文件到网站
  • win10下载杀毒软件
  • 如何解决android兼容问题
  • jquery中删除节点方法
  • Unity3D的iTween
  • 不用jquery用什么
  • 个人所得税税前扣除是什么意思
  • 重庆网上社保怎么交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设