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

  • 电脑怎么连接热点共享网络(电脑怎么连接热点wifi)

    电脑怎么连接热点共享网络(电脑怎么连接热点wifi)

  • ipv6是什么意思(ipv4和ipv6是什么意思)

    ipv6是什么意思(ipv4和ipv6是什么意思)

  • 华为荣耀10电源键坏了怎么开机(华为荣耀10电源键失去弹性)

    华为荣耀10电源键坏了怎么开机(华为荣耀10电源键失去弹性)

  • iphone盒子上的序列号在哪(iphone盒子上的序列号和手机设置的不一样)

    iphone盒子上的序列号在哪(iphone盒子上的序列号和手机设置的不一样)

  • ag13纽扣是什么电池(ag 13纽扣电池是多少伏的)

    ag13纽扣是什么电池(ag 13纽扣电池是多少伏的)

  • 微信手机号搜索该用户不存在(微信手机号搜索记录怎么查)

    微信手机号搜索该用户不存在(微信手机号搜索记录怎么查)

  • 华为p30删除的照片怎么找回(华为p30删除照片怎么恢复)

    华为p30删除的照片怎么找回(华为p30删除照片怎么恢复)

  • iphone6sp卡顿怎么解决(iphone6sp太卡了怎么办)

    iphone6sp卡顿怎么解决(iphone6sp太卡了怎么办)

  • 抖音每天提现有限额吗(抖音每天提现额度最多是多少)

    抖音每天提现有限额吗(抖音每天提现额度最多是多少)

  • 小君智能是什么(君克小智)

    小君智能是什么(君克小智)

  • vsco用别人账号会看到照片吗(vsco用别人的账号)

    vsco用别人账号会看到照片吗(vsco用别人的账号)

  • 刚买的充电宝先用还是先充电(刚买的充电宝先充电大概要多久)

    刚买的充电宝先用还是先充电(刚买的充电宝先充电大概要多久)

  • 探探卸载了为什么还显示活跃时间(探探卸载了为什么还会显示登录)

    探探卸载了为什么还显示活跃时间(探探卸载了为什么还会显示登录)

  • vivo手机自动锁屏可以关吗(vivo手机自动锁屏怎么关闭)

    vivo手机自动锁屏可以关吗(vivo手机自动锁屏怎么关闭)

  • mate30怎么打开无线反向充电(mate30怎么打开无线充电)

    mate30怎么打开无线反向充电(mate30怎么打开无线充电)

  • oppoa5充不进电怎么办(oppoa55充不进电)

    oppoa5充不进电怎么办(oppoa55充不进电)

  • 小米手环靠什么测睡眠(小米手环靠什么连接)

    小米手环靠什么测睡眠(小米手环靠什么连接)

  • 名创优品如何加盟(名创优品怎么加会员)

    名创优品如何加盟(名创优品怎么加会员)

  • 云视听极光如何开弹幕(云视听极光如何取消自动续费)

    云视听极光如何开弹幕(云视听极光如何取消自动续费)

  • 怎样删除炫彩桌面(如何删除炫彩桌面变成原来的桌面)

    怎样删除炫彩桌面(如何删除炫彩桌面变成原来的桌面)

  • 笔记本电脑硬盘序列号怎么查(笔记本电脑硬盘改装为移动硬盘)

    笔记本电脑硬盘序列号怎么查(笔记本电脑硬盘改装为移动硬盘)

  • 无法完成触控id设置请返回并重试(无法完成触控id设置)

    无法完成触控id设置请返回并重试(无法完成触控id设置)

  • ps修照片基本步骤人像(ps里修照片)

    ps修照片基本步骤人像(ps里修照片)

  • Mybatis+Servlet+Mysql 整合的一个小项目:对初学者非常友好,有助于初学者很快的上手Java Web

    Mybatis+Servlet+Mysql 整合的一个小项目:对初学者非常友好,有助于初学者很快的上手Java Web

  • 金税盘版开票软件怎么升级
  • 个人所得税的会计科目
  • 银行存款对银行的作用
  • 速达建账套期初数据
  • 营业外支出增加的原因
  • 以旧换新销售货物的增值税处理
  • 酒店租金计入什么会计科目
  • 银行回单少了一笔
  • 企业没有收入怎么办
  • 已经入库的商品出库了要怎么做会计分录
  • 注销一个公司需要多久
  • 进项税超过销项怎么办?
  • 小规模不动产租赁税率是否减按1%
  • 财税政策是什么
  • 非居民企业取得股息红利企业所得税
  • 经营性租赁怎么做账
  • 汽车加油专票可以抵扣税款吗
  • 个人所得税退税截止日期2023
  • 不能抵扣的福利发票要勾选吗为什么
  • 企业的不征税收入用于支出所形成的资产,其计算的折旧
  • 汇算清缴时
  • 广告公司的主营业务成本包括哪些
  • 财务人员工资计入什么费用?
  • 库存商品结转会计分录
  • php数组原理
  • pddocument.load
  • 政府的奖励金计入哪个科目
  • 企业合并收购,对员工的机会和挑战
  • 员工宿舍中介费计入什么科目
  • 资产评估增值额
  • 福利企业增值税优惠政策
  • PHP:imageconvolution()的用法_GD库图像处理函数
  • 桑吉尔夫个人简介
  • 增值税纳税人如何界定
  • javascript对象有哪些
  • php怎么变成txt
  • 固定资产没有价值怎么入账
  • 命令行 压缩
  • cancel怎么关
  • 快递怎么做账单
  • 装修及室内设计学什么
  • 企业所得税免税项目
  • 废品材料回收的会计分录
  • SQL Server 2005 模板参数使用说明
  • 库存暂估入账的会计分录
  • 主营业务收入可以进一般户吗
  • 企业之间的往来款要1900万要交多少税
  • 民办非企业单位什么意思
  • 资产处置损失抵税
  • 金税盘的维护费每年怎么抵扣
  • 哪些行为应作为证据
  • centosyum源
  • win8怎么设置
  • linux i
  • linux使用pip
  • uphclean.exe - uphclean进程是什么意思
  • win7那些自启可以禁用
  • 电脑qq老是弹出fi
  • 系统导航栏已禁用怎么办
  • Ubuntu12.04(X86_64)上安装Mesa-8.0.4
  • nodejs搭建web服务器
  • android 4.2
  • jquery源码是什么水平
  • jquery validate表单校验html
  • 批处理修改文件名称
  • vue怎样使用
  • nodejs定义数组
  • unity shader视频教程
  • Python连接MySQL并使用fetchall()方法过滤特殊字符
  • javascriptz
  • 理解的英文
  • android 轮播
  • 类库怎么用
  • 湖北税务查询电话
  • 江苏省国家税务局电话号码
  • 土地买卖谈判开场陈述
  • 政府征用土地社保补偿标准
  • 控件未安装或控件版本过低
  • 税务备案表付汇日期是否可以提前
  • 山西收入最高的县
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设