位置: IT常识 - 正文

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

发布时间:2024-01-26
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如何解决消息堆积问题)

  • 转出未交增值税是借方还是贷方
  • 办公室的饮用水应该放在哪个科目下?
  • 住宿费收入缴纳标准
  • 社会团体所涉及的法律
  • 已开发票查询不到怎么回事
  • 完工百分比法完工进度怎么算
  • 跨境电商零售正面清单
  • 车辆购置附加税证丢了能过户吗
  • 注销税务登记申请书
  • 租赁的房租再出租成本怎么做?
  • 品质问题扣供应商款
  • 每个月计提工资没有发怎么办
  • 酒店购入食材,怎么做会计分录
  • 公司收内部职工停车费如何确认收入?
  • 外账的作用
  • 职工伙食团食谱
  • 短期理财的门槛
  • 职工食堂的费用怎么入账
  • 未达起征点销售额和小微企业免税销售额
  • 延期付款利息到底有没有税务风险
  • 新开办筹建费企业所得税申报填写
  • 企业注销增值税进项核销账务处理流程
  • 递延所得税资产借贷方向
  • 远期结汇账务处理分录
  • 资产减值损失期末余额在哪方
  • mac笔记本装了双系统后打开苹果系统和原来一样吗
  • 新成立股份有限公司股本构成
  • explorer.exe是啥意思
  • 企业破产时的退出机制
  • 事业单位财产清查内容包括
  • Pinia(二)了解和使用Store
  • thinkphp教程
  • 新版python
  • php高级程序招聘
  • js array
  • 如何利用税收经济效应实现税收的宏观调控目标
  • 职工教育经费和职工福利费扣除比例
  • CMS不要让MySQL为你流泪
  • 其他应收款借方表示增加吗
  • 金税四期主要核查什么?
  • 国债利息收入要征税吗
  • 小规模纳税人零申报可以持续多久
  • 用友软件数据导出
  • 进项税额转出的所有会计分录
  • 会计继续教育的发票在哪里打
  • 机票的退票费可以开具发票吗
  • 银行抵债资产如何更快处置
  • 汇算清缴期间费用社保填哪里
  • 财政补助收入增加在哪一方
  • 国家土地补偿款
  • 白条入账会计处理
  • 房产税税率采用比例税率按照房产余值计征的年税率为
  • 描述企业会计准则中对固定资产的具体规定
  • 会计明细账怎么记
  • 固定资产处置有什么问题
  • JDBC探索之SQLException解析
  • 重装机兵
  • sql常用语句大全简书
  • 电脑开机密码忘记了怎么打开
  • 惠普台式笔记本一体机电脑bios中文
  • 电脑英伟达控制面板在哪
  • win7共享文件夹关闭密码保护
  • win7系统如何查看内存条型号
  • 浅谈特殊儿童的融合教育论文
  • 如何理解shell
  • jquery可以实现哪些效果
  • node javascript
  • 理解和运用的重要性要站在哪个的视觉去判断
  • 编写高性能代码时以下哪种技术可用于减少内存访问延迟
  • bootstraprow布局
  • JavaScript+html5 canvas实现图片破碎重组动画特效
  • Unity3d C# Socket 下载文件 (同步向)
  • 什么绑定什么服务
  • flask pycharm
  • 关于房地产企业所得税涉税处理表述正确的有
  • 购房发票的发票代码是哪个
  • 改革开放四十年是几几年
  • 应纳税所得额怎么求公式
  • 交17000办的保险是什么保险
  • 国家税务贵州省税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号