麒麟V10系统下编译libcef

编程入门 行业动态 更新时间:2024-10-14 10:41:51

<a href=https://www.elefans.com/category/jswz/34/1766145.html style=麒麟V10系统下编译libcef"/>

麒麟V10系统下编译libcef

目录

      • 前言
      • 1、下载cef
      • 2、编译libcef_dll
        • 2.1 问题一 cmake版本太低
        • 2.2 问题二 无法识别的编译选项 -m64
      • 3、总结

前言

本篇主要记录了在飞腾PC麒麟V10系统下编译libcef_dll时遇到的问题及解决方法。在Qt应用程序中使用QWebEngine加载HTML网页算是常规操作,但是涉及到3d模型的加载及显示,QWebEngine的表现就差得多了。为了解决网页加载3d模型卡顿的问题,我们考虑使用cef代替QWebEngine。

1、下载cef

这里是CEF的官网,如下图所示,打开网页后向下滑动到Quick Links 部分,这部分给出了CEF的一些参考资料网址,红色框部分是下载链接,点击这个链接打开下载页面。

CEF下载页面如下图所示,这里不是下载CEF源码而是直接下载编译好的CEF二进制文件,从图中可以看到,几乎支持了所有主流平台。飞腾麒麟V10系统选择下载Linux ARM64版本,这里下载了图中红框标注的两个压缩包。

cef_binary_118.6.9+g7e73645+chromium-118.0.5993.119_linuxarm64 为标准发布版,解压后的目录如下图所示,其中包括了Release和Debug版的动态库及其依赖。README.txt文档对目录中的各个文件作了介绍。

下图是README.txt文档的部分内容,libcef_dll目录中是libcef_dll_wrapper 静态库的源码,所有使用CEF的C++应用程序必须链接这个库。

2、编译libcef_dll

根据README文档中的介绍,可以使用cmake来编译libcef_dll_wrapper库。在cef目录下打开终端,新建build目录,然后执行cmake命令:

mkdir build
cd build
cmake ../
2.1 问题一 cmake版本太低

在此遇到了本文需要解决的第一个问题,见下图所示:

该错误是说cmake的最低版本得是3.21以上,而麒麟V10系统中的cmake版本是3.16.3,版本太低了。这时使用’sudo apt upgrade cmake ‘尝试升级cmake,却提示已经是最新版本了。没办法只能考虑修改版本号了,于是打开根目录下的CMakeLists.txt文档修改cmake的版本号为3.16,如下图所示,可以看到这里将版本号设置为3.21是为了支持VS2022和Xcode12+。

保存文档后,继续执行 cmake ../ 命令,这次顺利生成了makefile文件。

2.2 问题二 无法识别的编译选项 -m64

接着执行make -j4 命令来编译静态库,在这里遇到了第二个问题,如下图所示:

系统中的编译器不支持-m64编译选项,没办法只能将其删除,根据错误提示,在build/libcef_dll_wrapper/CMakeFiles/libcef_dll_wrapper.dir/flags.make 文件中找到了报错的 -m64选项,如下图所示,将下图红框中的两个编译选项都删除后,再次执行 make -j4 命令可成功编译生成libcef_dll_wrapper.a。由于执行make命令的时候,不只编译libcef_dll_wrapper库,同时也会编译test目录中的几个程序,所以也会遇到类似的 -m64 编译选项无法识别的问题,用上面的思路找到对应的flags.make 文件,将其中的 -m64 -march=x86-64 删除即可。

下图中的libcef_dll_wrapper.a就是最终需要的静态库文件。

3、总结

本文记录了麒麟V10系统下从下载CEF开始到成功编译出libcef_dll_wrapper 所踩的坑,经过本次折腾,以后再遇到类似的问题就能快速解决了。希望读了本文能对你解决实际问题有帮助,以上就是本文的所有内容了,欢迎留言讨论!!

更多推荐

麒麟V10系统下编译libcef

本文发布于:2023-11-15 10:59:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1598517.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:麒麟   系统   libcef

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!