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

  • 华为手机有几种重启方法(华为手机有几种关机方法)

    华为手机有几种重启方法(华为手机有几种关机方法)

  • 投影仪3d功能怎么使用(投影仪的3d模式怎么用)

    投影仪3d功能怎么使用(投影仪的3d模式怎么用)

  • 什么是信息产业发展的基础(什么是信息产业的三大支柱)

    什么是信息产业发展的基础(什么是信息产业的三大支柱)

  • 抖音在哪里可以查到给别人送礼物的记录(抖音在哪里可以看到浏览记录)

    抖音在哪里可以查到给别人送礼物的记录(抖音在哪里可以看到浏览记录)

  • ipad腾讯会议怎么共享屏幕(ipad腾讯会议怎么露脸又共享屏幕)

    ipad腾讯会议怎么共享屏幕(ipad腾讯会议怎么露脸又共享屏幕)

  • 苹果怎么降级12.4(苹果怎么降级到15.6.1)

    苹果怎么降级12.4(苹果怎么降级到15.6.1)

  • oppor15有深色模式吗(oppor15深色模式怎么设置)

    oppor15有深色模式吗(oppor15深色模式怎么设置)

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

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

  • 荣耀v30pro后盖容易坏吗(荣耀v30pro后盖容易碎吗)

    荣耀v30pro后盖容易坏吗(荣耀v30pro后盖容易碎吗)

  • 注册灯一直闪连不上网(注册灯一直闪连不上网一阵又好了)

    注册灯一直闪连不上网(注册灯一直闪连不上网一阵又好了)

  • 微信发什么文字有东西掉下来(微信发什么文字会出现特效)

    微信发什么文字有东西掉下来(微信发什么文字会出现特效)

  • 华为mate20pro耗电快原因(华为mate20pro耗电快不快)

    华为mate20pro耗电快原因(华为mate20pro耗电快不快)

  • t9600相当于i几(t9600cpu相当于现在的)

    t9600相当于i几(t9600cpu相当于现在的)

  • 电视腾讯视频和手机腾讯视频是一样的吗(腾讯视频会员和电视)

    电视腾讯视频和手机腾讯视频是一样的吗(腾讯视频会员和电视)

  • vivo手电筒打不开是怎么回事(vivo手电筒打不开怎么弄)

    vivo手电筒打不开是怎么回事(vivo手电筒打不开怎么弄)

  • 如何开启和关闭淘宝人生(如何开启和关闭工业机器人)

    如何开启和关闭淘宝人生(如何开启和关闭工业机器人)

  • 华为怎么打开尺子(华为自带尺)

    华为怎么打开尺子(华为自带尺)

  • 淘宝店怎么参加双十一(淘宝店怎么参加双11活动)

    淘宝店怎么参加双十一(淘宝店怎么参加双11活动)

  • iphone11pro长宽高(苹果11pro 长宽高)

    iphone11pro长宽高(苹果11pro 长宽高)

  • 注册微信的手机号码换了怎么办(注册微信的手机号在哪看)

    注册微信的手机号码换了怎么办(注册微信的手机号在哪看)

  • 知道号码就能定位在哪里吗(只要知道号码就能定到位置吗)

    知道号码就能定位在哪里吗(只要知道号码就能定到位置吗)

  • 华为nxtcl00是什么型号

    华为nxtcl00是什么型号

  • 如何退出花呗支付(怎么能退出花呗)

    如何退出花呗支付(怎么能退出花呗)

  • Win10屏幕不自动关闭怎么办?Win10屏幕不自动关闭解决方法(windows10不会自动锁屏)

    Win10屏幕不自动关闭怎么办?Win10屏幕不自动关闭解决方法(windows10不会自动锁屏)

  • win11怎么清理Windows.old文件夹? 删除windows.old文件夹的技巧(win11怎么清理电脑垃圾)

    win11怎么清理Windows.old文件夹? 删除windows.old文件夹的技巧(win11怎么清理电脑垃圾)

  • ChatGPT进阶-提示词中文版

    ChatGPT进阶-提示词中文版

  • 个人所得税可以不交税吗
  • 如何判断销售额含税还是不含税
  • 检查记账凭证的主要方法有哪些?
  • 什么是进口增值税率
  • 增值税纳税申报表在哪里打印
  • 展位费怎么入账
  • 进项税额计入其他应付款是什么意思
  • 借方应付账款 贷方银行存款
  • 固定资产特性
  • 电子承兑汇票如何拆小
  • 长期待摊费用做在什么记账凭证里
  • 应收账款周转率多少合适
  • 购进原材料没有发票怎么做分录
  • 增值税普通发票怎么开
  • 食堂购买的固定资产可以一次性加计扣除吗
  • 售后维修服务会计入账方式
  • 哪些行业可以加计抵扣进项税
  • 总公司分派人员到分公司工作
  • 冲抵货款销售返利会计分录怎么写?
  • 金蝶采购发票怎么红冲
  • 小规模减半征收什么时候开始
  • 小规模查账征收增值税怎么算
  • 城镇土地使用税征收标准及计算方法
  • mac打印机状态暂停怎么处理
  • 结转材料采购成本的会计分录是什么
  • linux 的ll
  • 其他生活服务业增值税税率
  • php 字符串函数
  • 预收账款为什么不属于金融负债
  • 公司当月申报的是下个月社保么
  • 累计摊销属于什么类科目
  • vue跨域的几种方式
  • 股份有限公司都是私企吗
  • 有形动产租赁个税是经营所得吗
  • phpcms怎么用
  • 暂估入账会计科目
  • 出纳收到现金会计分录
  • 财政拨款结余的明细科目有哪些
  • sql中drop的用法
  • 管理费用科目包括
  • sql死锁的简单例子
  • 小规模纳税人专用发票税率
  • 一般纳税人收取停车费的税率
  • 收到房租的租金怎么做账
  • 固定资产汽车折旧年限是多少年
  • 工会应付下级经费
  • 个人独资企业个税怎么交
  • 研发支出费用化对财务报表的影响
  • 发放股票股利如何影响计算基本每股收益
  • 劳务费如何计提
  • 付给农民的土地使用费
  • 合并报表的内部投资抵消
  • 发票打印机格式不对
  • 收入与支出怎么说
  • 广告赞助的形式
  • 收到上市公司分红企业所得税减半征收的情景
  • 怎样计算存款利息?
  • MySql insert插入操作的3个小技巧分享
  • macbookpro隐藏
  • u盘设置背景音乐怎么弄
  • linux扩大文件系统
  • 飞行体验设备
  • win10系统声音忽大忽小
  • linux使用shell脚本创建文件
  • cocos2dx-js
  • js修改css样式属性不生效
  • 苹果mac安装
  • linux脚本作用
  • ini文件编辑
  • javascript+HTML5 Canvas绘制转盘抽奖
  • 实用的批处理
  • virtualbox no bootable medium
  • vue中使用类class
  • 怎么快速启动win10
  • 安卓接口分类
  • 江西省联考成绩查询系统入口官网
  • 购房发票怎么查验
  • 江西省国家税务局总局官网
  • 2018年税务局
  • 耕地占用税是土地增值税扣除项目吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设