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

  • 让论坛发帖在交流艺术中推广(论坛发帖规则)

    让论坛发帖在交流艺术中推广(论坛发帖规则)

  • OPPO手机上方的HD图标怎么关闭(oppo手机上方的各种图标什么意思?)

    OPPO手机上方的HD图标怎么关闭(oppo手机上方的各种图标什么意思?)

  • 蓝牙耳机双耳变成单耳了怎么改(蓝牙耳机双耳变单耳下载)

    蓝牙耳机双耳变成单耳了怎么改(蓝牙耳机双耳变单耳下载)

  • facetim通话费话费吗(facetime通话费钱吗)

    facetim通话费话费吗(facetime通话费钱吗)

  • 5g建设需要大量光纤吗(5g建设需要大量光纤光缆吗)

    5g建设需要大量光纤吗(5g建设需要大量光纤光缆吗)

  • 淘宝退货要先确认收货吗(淘宝退货先确认在退款吗)

    淘宝退货要先确认收货吗(淘宝退货先确认在退款吗)

  • 华为手机屏幕上有个鞋子是什么(华为手机屏幕上面有个小房子)

    华为手机屏幕上有个鞋子是什么(华为手机屏幕上面有个小房子)

  • 主板typec接口能干嘛(主板的typec)

    主板typec接口能干嘛(主板的typec)

  • 一淘和淘宝有什么区别(一淘和淘宝有什么区别知乎)

    一淘和淘宝有什么区别(一淘和淘宝有什么区别知乎)

  • mac使用中突然黑屏(macbook使用中突然黑屏)

    mac使用中突然黑屏(macbook使用中突然黑屏)

  • 群头衔怎么改(群头衔怎么改 管理员)

    群头衔怎么改(群头衔怎么改 管理员)

  • fhd屏幕和2k屏的区别(fhd屏幕和2k屏的区别 笔记本)

    fhd屏幕和2k屏的区别(fhd屏幕和2k屏的区别 笔记本)

  • 微信不认证如何收红包(微信不认证可以吗)

    微信不认证如何收红包(微信不认证可以吗)

  • 手机圆圈1怎么打(手机圆圈1怎么输入)

    手机圆圈1怎么打(手机圆圈1怎么输入)

  • oppor15怎么关闭breeno(oppor15怎么关闭速览)

    oppor15怎么关闭breeno(oppor15怎么关闭速览)

  • 苹果手机怎么设置防丢(苹果手机怎么设置应用锁)

    苹果手机怎么设置防丢(苹果手机怎么设置应用锁)

  • 快影怎么剪切视频教程(快影怎么剪切视频中的一段)

    快影怎么剪切视频教程(快影怎么剪切视频中的一段)

  • 华为荣耀3手环怎么关机(华为荣耀3手环价格)

    华为荣耀3手环怎么关机(华为荣耀3手环价格)

  • 手机qq怎么一键私发(手机qq怎么一键清空说说)

    手机qq怎么一键私发(手机qq怎么一键清空说说)

  • Pr怎么找到导出文件保存的位置(pr导出的视频在哪儿找)

    Pr怎么找到导出文件保存的位置(pr导出的视频在哪儿找)

  • 搜狗搜索如何提取小说(搜狗内容)

    搜狗搜索如何提取小说(搜狗内容)

  • 广播地址怎么计算(广播地址怎么算)

    广播地址怎么计算(广播地址怎么算)

  • 如何检查您的Win11版本?Win11各版本区别与查看Win11版本方法(怎么检查windows版本)

    如何检查您的Win11版本?Win11各版本区别与查看Win11版本方法(怎么检查windows版本)

  • python中类的基本构成是什么(python里面的类)

    python中类的基本构成是什么(python里面的类)

  • 税收优惠属于政策吗
  • 营业外支出影响利润
  • 购货方收到红字发票
  • 进项税未抵扣进账了怎么处理
  • 税务登记投资方经济性质
  • 旧设备用于投资是否应按视同销售处理
  • 零售不要发票如何报税
  • 高新技术企业预审要求
  • 银行收取代发工资合法吗
  • 结转库存什么意思
  • 医疗器械销售初次拜访话术
  • 建筑业营改增实施指南
  • 企业税前扣除凭证包括以下哪些方面
  • 主营业务收入包含消费税吗
  • 股权转让未分配利润如何做账
  • 企业所得税优惠事项包括哪些?
  • 应交税费未交增值税是什么意思
  • 已经发货了点击确认收货可以吗?
  • 已经折旧完的固定资产怎么处理
  • 履约保证金计入什么会计科目
  • 专票和普票都要交税吗
  • 固定资产入账价值计算公式
  • thinkphp钩子场景
  • php bi
  • 旧货回收增值税率是多少
  • coded language
  • 投资收益是否缴增值税
  • 开具增值税专用发票和普通发票的区别
  • 企业进项税大于销项税财务怎么做分录
  • vue打包后请求不到数据
  • 财务费用属不属于当期损益
  • 以前年度损益调整结转到哪里
  • linux的nano是什么意思
  • js鼠标键盘事件
  • 机器学习论文源代码浅读:Autoformer
  • 税务申报说明怎么写范文
  • php数据的提交与采集实验报告
  • 盒子模型的概念
  • 推广费属于什么大类
  • 开发商需要缴纳保证金
  • 现金溢余涉及的科目
  • 厂区地面硬化属于土建还是市政
  • 债务抵销的顺序
  • 收到税控盘退费怎么做分录
  • 前期费用怎么计算
  • 以前年度损益调整怎么做账
  • 材料成本差异是什么
  • 加油卡充值如何开发票
  • 财政补助结转结转的依据
  • 微信提现手续费1000扣多少
  • 出口退税对应的进项不能抵扣对吗
  • 预缴所得税会计分录怎么做东奥
  • 代销货物收取手续费计入
  • 营业外支出为负数原因
  • 企业的固定资产由于技术进步等原因
  • 公司初建账都有什么账
  • win2008安装sql2005
  • 出现错误,请联系客服
  • innodb底层实现原理
  • freebsd使用wifi
  • 组装电脑光盘分几种
  • wps2019视频
  • windows7 ie
  • ubuntu20.04怎么用
  • windows7如何设置时间格式
  • cocos creator 动画制作
  • ExtJS扩展 垂直tabLayout实现代码
  • opengl编译
  • javascript包含哪三大部分
  • JavaScript中字符串模板
  • Jquery AJAX POST与GET之间的区别详细介绍
  • Android---41---Service简介
  • jquery的设计模式
  • bootstraptable方法
  • python utils模块
  • 什么是城建税和土地税
  • 增值税开票系统如何添加开票人
  • 购房发票上的税率9%包含契税吗
  • 旧房转让土地增值税扣除项目
  • 开票风险预警机制蓝色预警怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设