软件免费下载的网站大全,wordpress转换为html5,郑州建网站的好处,洛阳免费提供建站方案Linux CEF#xff08;Chromium Embedded Framework#xff09;源码下载编译
背景
由于CEF默认的二进制分发包不支持音视频播放#xff0c;需要自行编译源码#xff0c;将ffmpeg开关打开才能支持。这里介绍的是Linux平台下的CEF源码下载编译过程。
前置条件
下载的过程非…Linux CEFChromium Embedded Framework源码下载编译
背景
由于CEF默认的二进制分发包不支持音视频播放需要自行编译源码将ffmpeg开关打开才能支持。这里介绍的是Linux平台下的CEF源码下载编译过程。
前置条件
下载的过程非常艰辛因为硬性要求比较高。
16GB RAM 推荐 32GB 120GB SSD硬盘空闲空间起步避免机械硬盘100Mbps带宽包括代理带宽以及100G以上的代理流量
这里额外说明一下下载过程总是失败大概率原因是因为网络的问题尤其是网络带宽和代理带宽。这里为什么要单独提代理带宽呢因为公司有提供代理服务但是只有10Mbps所以会导致下载超时服务端关闭连接。
注意由于一些因素下载代码的环境是基于WSL编译的时候是在UOS V20 1050系统上但总体差异不大相关路径会有区别仍有参考价值。
接下来开始下载CEF的代码
下载
创建目录结构
首先先创建目录结构最终的目录结构如下
~/CEF/automate/automate-git.py -- CEF build scriptchromium_git/cef/ -- CEF source checkoutchromium/src/ -- Chromium source checkoutupdate.[bat|sh] -- Bootstrap script for automate-git.pydepot_tools/ -- Chromium build tools可以使用以下命令创建目录
mkdir CEF cd CEF mkdir automate mkdir chromium_git终端设置代理
这一步非常重要因为需要让终端走代理才能正常下载代码
设置终端代理
export http_proxy127.0.0.1:7890
export https_proxy127.0.0.1:7890通常情况下这样就可以了但由于公司的代理问题设置了代理之后bitbucket.org域名无法访问所以我这里将bitbucket.org域名排除在外这一步因人而异但基本是不需要这一步的。
export no_proxylocalhost,bitbucket.org验证代理是否设置成功
leoyaleoya-PC:~$ curl -I https://chromium.googlesource.com
HTTP/1.1 200 Connection establishedHTTP/2 200
content-security-policy: script-src nonce-WfQMl6EHcID6PtyTna5LNQ unsafe-inline strict-dynamic https: http: unsafe-eval;object-src none;base-uri self;report-uri https://csp.withgoogle.com/csp/gerritcodereview/1
content-type: text/html; charsetutf-8
strict-transport-security: max-age31536000; includeSubDomains; preload
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 0
date: Fri, 30 Jun 2023 02:04:17 GMT
alt-svc: h3:443; ma2592000,h3-29:443; ma2592000这里通过curl去获取响应信息能获取到状态码200或者304即说明访问正常。可以额外对bitbucket.org也测试一下如果访问失败那说明需要将它排除在代理规则内通过上述方法或者代理软件如clash设置代理规则为直连即可。
设置git代理
git config --global http.proxy 127.0.0.1:7890
git config --global https.proxy 127.0.0.1:7890下载脚本
在CEF根目录下下载depot_tools并配置环境变量
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH/home/leoya/CEF/depot_tools:$PATH下载automate-git.py脚本这里需要在CEF/automate目录下
cd automate/
wget https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py创建 ~/CEF/chromium_git/update.sh脚本
#!/bin/bash
python3 ../automate/automate-git.py --download-dir/home/leoya/CEF/chromium_git --depot-tools-dir/home/leoya/CEF/depot_tools --no-distrib --no-build执行脚本
设置权限并执行
chmod 755 update.sh
./update.sh接下来就是无尽的等待。 这里要特别注意depot_tools的更新进度每次执行脚本的时候它都会先更新depot_tools如果更新状态过慢可能网络有问题。
下载cef仓库的时候一般是没什么问题的。
这里最关键的是下载chromium源码的环节因为脚本执行中断往往就是在这个环节。因为网络稳定性、下载速率等问题导致出错。 当你看到Still working on字样的时候恭喜你你已经迈过了最艰难的环节接下来就是下载终端重试的成本也比较低因为不用重新下载chromium源码。 接下来见证下载成功的时刻 报错信息总结
以下原因解释不一定正确仅供参考 1.
[1:38:14] error: RPC failed; curl 56 GnuTLS recv error (-9):Error decoding the received TLS packet.[1:30:14] fatal:the remote end hung up unexpectedly
[1:30:14] fatail:early EOF
[1:30:14] fatat: index-pack failed1:30:16]这里大概率是网络不稳定导致下载中断 error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: 远端意外挂断了
fatal: 过早的文件结束符EOF
fatal: index-pack 失败这个就是因为下载速率太慢导致长时间占用连接服务端就主动关闭了连接。
编译 CEF
接下来即可修改ffmpeg文件以添加音视频的支持了
设置ffmpeg
chromium_git/chromium/src/third_party/ffmpeg/chromium/config/Chromium/linux/x64/config_components.h文件的宏#define CONFIG_SIPR_PARSER 1由0设置为1即启用。
生成工程
终端输入
export GN_DEFINESuse_sysroottrue symbol_level1 is_cfifalse use_thin_ltofalse use_vaapifalse ffmpeg_brandingChrome proprietary_codecstrue is_official_buildtrue use_gnome_keyringfalse chrome_pgo_phase0ffmpeg_branding和proprietary_codecs 表示开启多媒体编解码支持但默认仅支持一小部分想要支持更多可修改上面 ffmpeg 配置文件。is_official_build 决定了是否是编译正式版本指定该参数为 true 基本上都是为了产品发布使用同时也会在创建解决方案的时候生成带有 sandbox 的解决方案而不指定这个参数是没有的。use_jumbo_build 官方资料默认指定表示是否启用试验性的 jumbo 编译编译过程会加快很多至少快 1 小时但是占用 CPU 和内存尤其是内存会剧增。is_component_build 官方资料默认指定但我们没有开启这个参数表示是否启用组件化编译设置为 true 以后base、ffmpeg 等等都会被编译为动态库使用时也是动态链接编译出来的 cef_sandbox 只有几兆大小并且你需要复制很多 dll 文件到项目目录下才能运行。
这里需要注意几个参数use_vaapi如果未设置为false即使安装了vaapi也会出现头文件的一些错误信息。
chrome_pgo_phase0 禁用pgo文件。
use_gnome_keyring设置为false
进入code/chromium_git/chromium/src/cef路径执行脚本生成工程文件
./cef_create_projects.sh问题处理
在生成工程的过程中我这里遇到了很多错误大多是缺失库。
printing:printing_unittests
ERROR at dynamically parsed input that //printing/BUILD.gn:464:16 loaded :1:1: Invalid token in literal value
-------------------------------------
^
See //BUILD.gn:287:15: which caused the file to be included. deps [ //printing:printing_unittests ]^------------------------------
Traceback (most recent call last): File tools/gclient_hook.py, line 149, in moduleRunAction(src_dir, cmd)File /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/cef/tools/gclient_util.py, line 36, in RunActioncommand, cwddir, always_show_headerTrue, print_stdoutTrue)File /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/depot_tools/gclient_utils.py, line 716, in CheckCallAndFilterrv, args, kwargs.get(cwd, None), command_output.getvalue(), None)
subprocess2.CalledProcessError: Command gn gen out/Debug_GN_x64 returned non-zero exit status 1 in /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src
ERROR at dynamically parsed input that //printing/BUILD.gn:464:16 loaded :1:1: Invalid token in literal value
-------------------------------------
^
See //BUILD.gn:287:15: which caused the file to be included. deps [ //printing:printing_unittests ]^------------------------------缺失库安装libcups2-dev库即可
sudo apt install libcups2-devPackage glib-2.0 was not found in the pkg-config search path
ERROR at //build/config/linux/pkg_config.gni:104:17: Script returned non-zero exit code.pkgresult exec_script(pkg_config_script, args, value)^----------
Current dir: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/build/config/linux/pkg-config.py glib-2.0
Returned 1.
stderr:Package glib-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing glib-2.0.pc
to the PKG_CONFIG_PATH environment variable
No package glib-2.0 found
Could not run pkg-config.See //cef/BUILD.gn:2090:5: whence it was called.pkg_config(glib) {^-------------------
See //BUILD.gn:283:15: which caused the file to be included. deps [ //cef ]^------
Traceback (most recent call last): File tools/gclient_hook.py, line 149, in moduleRunAction(src_dir, cmd)File /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/cef/tools/gclient_util.py, line 36, in RunActioncommand, cwddir, always_show_headerTrue, print_stdoutTrue)File /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/depot_tools/gclient_utils.py, line 716, in CheckCallAndFilterrv, args, kwargs.get(cwd, None), command_output.getvalue(), None)
subprocess2.CalledProcessError: Command gn gen out/Debug_GN_x64 returned non-zero exit status 1 in /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src
ERROR at //build/config/linux/pkg_config.gni:104:17: Script returned non-zero exit code.pkgresult exec_script(pkg_config_script, args, value)^----------
Current dir: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/build/config/linux/pkg-config.py glib-2.0
Returned 1.
stderr:Package glib-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing glib-2.0.pc
to the PKG_CONFIG_PATH environment variable
No package glib-2.0 found
Could not run pkg-config.See //cef/BUILD.gn:2090:5: whence it was called.pkg_config(glib) {^-------------------
See //BUILD.gn:283:15: which caused the file to be included. deps [ //cef ]安装
sudo apt install libglib2.0-devPackage gnome-keyring-1 was not found in the pkg-config search path.
ERROR at //build/config/linux/pkg_config.gni:104:17: Script returned non-zero exit code.pkgresult exec_script(pkg_config_script, args, value)^----------
Current dir: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/build/config/linux/pkg-config.py gnome-keyring-1
Returned 1.
stderr:Package gnome-keyring-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing gnome-keyring-1.pc
to the PKG_CONFIG_PATH environment variable
No package gnome-keyring-1 found
Could not run pkg-config.这里就是前面提到的需要将use_gnome_keyring设置为false禁用掉。
终端输入将其禁用
export GN_DEFINESuse_sysroottrue symbol_level1 is_cfifalse use_thin_ltofalse use_vaapifalse ffmpeg_brandingChrome proprietary_codecstrue is_official_buildtrue use_gnome_keyringfalse chrome_pgo_phase0Package dbus-1 was not found in the pkg-config search path
ERROR at //build/config/linux/pkg_config.gni:104:17: Script returned non-zero exit code.pkgresult exec_script(pkg_config_script, args, value)^----------
Current dir: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/build/config/linux/pkg-config.py dbus-1
Returned 1.
stderr:Package dbus-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing dbus-1.pc
to the PKG_CONFIG_PATH environment variable
No package dbus-1 found
Could not run pkg-config.安装
sudo apt install libdbus-1-devPackage nss was not found in the pkg-config search path
ERROR at //build/config/linux/pkg_config.gni:104:17: Script returned non-zero exit code.pkgresult exec_script(pkg_config_script, args, value)^----------
Current dir: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/build/config/linux/pkg-config.py nss -v -lssl3
Returned 1.
stderr:Package nss was not found in the pkg-config search path.
Perhaps you should add the directory containing nss.pc
to the PKG_CONFIG_PATH environment variable
No package nss found
Could not run pkg-config.安装
sudo apt install libnss3-devPackage libva was not found in the pkg-config search path
ERROR at //build/config/linux/pkg_config.gni:104:17: Script returned non-zero exit code.pkgresult exec_script(pkg_config_script, args, value)^----------
Current dir: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/build/config/linux/pkg-config.py libva
Returned 1.
stderr:Package libva was not found in the pkg-config search path.
Perhaps you should add the directory containing libva.pc
to the PKG_CONFIG_PATH environment variable
No package libva found
Could not run pkg-config.
安装
sudo apt install libva-devPackage gbm was not found in the pkg-config search path
ERROR at //build/config/linux/pkg_config.gni:104:17: Script returned non-zero exit code.pkgresult exec_script(pkg_config_script, args, value)^----------
Current dir: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Debug_GN_x64/
Command: python3 /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/build/config/linux/pkg-config.py gbm
Returned 1.
stderr:Package gbm was not found in the pkg-config search path.
Perhaps you should add the directory containing gbm.pc
to the PKG_CONFIG_PATH environment variable
No package gbm found
Could not run pkg-config.sudo apt install libgbm-devrun “gclient runhooks” to download it. You can also simply disable the PGO optimizations by setting |chrome_pgo_phase 0| in your GN arguments
即pgo文件问题
ERROR at //build/config/compiler/pgo/BUILD.gn:81:23: Script returned non-zero exit code.pgo_data_path exec_script(//tools/update_pgo_profiles.py,^----------
Current dir: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Release_GN_x64/
Command: python3 /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/tools/update_pgo_profiles.py --target linux get_profile_path
Returned 1.
stderr:Traceback (most recent call last):File /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/tools/update_pgo_profiles.py, line 154, in modulesys.exit(main())File /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/tools/update_pgo_profiles.py, line 150, in mainreturn args.func(args)File /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/tools/update_pgo_profiles.py, line 122, in _get_profile_pathprofile_path)
RuntimeError: requested profile /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/chrome/build/pgo_profiles/chrome-linux-5672-1683023364-b47f9a07c616c94cac9f564aa6b00a8aaaec191a.profdata doesnt exist, please make sure checkout_pgo_profiles is set to True in the custom_vars section of your .gclient file, e.g.:
solutions [ { name: src, # ... custom_vars: { checkout_pgo_profiles: True, }, },
],
and then run gclient runhooks to download it. You can also simply disable the PGO optimizations by setting |chrome_pgo_phase 0| in your GN arguments.See //build/config/BUILDCONFIG.gn:352:3: which caused the file to be included.//build/config/compiler/pgo:default_pgo_flags,尝试了下载pgo文件但失败于是将其chrome_pgo_phase禁用
export GN_DEFINESuse_sysrootfalse symbol_level1 is_cfifalse use_thin_ltofalse use_vaapifalse ffmpeg_brandingChrome proprietary_codecstrue is_official_buildtrue use_gnome_keyringfalse chrome_pgo_phase0若还是提示此错误则可修改chromium_git/chromium/src/build/config/compiler/pgo/pgo.gni文件最后的位置处加上chrome_pgo_phase 0 chrome_pgo_phase 0if (!dcheck_always_on is_official_build # TODO(crbug.com/1052397): Remove chromeos_is_browser_only once# target_os switch for lacros-chrome is completed.# TODO(crbug.com/1336055): Update this now-outdated condition with regard# to chromecast and determine whether chromeos_is_browser_only is# obsolete.(is_high_end_android || is_win || is_mac || is_fuchsia ||(is_linux !is_castos !chromeos_is_browser_only))) {chrome_pgo_phase 2}
# 手动添加chrome_pgo_phase 0# When using chrome_pgo_phase 2, read profile data from this path.pgo_data_path
}当问题都解决后就可以开始编译源码了。
开始编译
到code/chromium_git/chromium/src路径下
# debug lib
ninja -C out/Debug_GN_x64 cefclient cefsimple ceftests chrome_sandbox
# release lib
ninja -C out/Release_GN_x64 cefclient cefsimple ceftests chrome_sandbox这里直接执行的第二条命令
在编译过程中也会出现错误不过好在是增量编译报错不会影响已经编译好的产物。
问题处理
gperf错误
sudo apt install gperfNo module named ‘importlib_metadata’
Traceback (most recent call last):File ../../third_party/blink/renderer/bindings/scripts/generate_bindings.py, line 12, in moduleimport bind_genFile /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/third_party/blink/renderer/bindings/scripts/bind_gen/__init__.py, line 36, in modulefrom .callback_function import generate_callback_functionsFile /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/third_party/blink/renderer/bindings/scripts/bind_gen/callback_function.py, line 8, in modulefrom .blink_v8_bridge import blink_class_nameFile /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py, line 8, in modulefrom .code_node import FormatNodeFile /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py, line 13, in modulefrom .mako_renderer import MakoRendererFile /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py, line 7, in moduleimport mako.runtimeFile /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/third_party/mako/mako/mako/runtime.py, line 14, in modulefrom mako import compatFile /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/third_party/mako/mako/mako/compat.py, line 68, in moduleimport importlib_metadata # noqa
ModuleNotFoundError: No module named importlib_metadata
[559/47120] CXX obj/v8/cppgc_base/heap-consistency.o
ninja: build stopped: subcommand failed.
这个错误提示是最明显的了安装python的importlib_metadata库即可
pip3 install importlib_metadata如果pip命令未找到那么先安装pip再执行上面的命令
sudo apt install python3-pipfatal error: ‘pulse/pulseaudio.h’ file not found
gen/media/audio/pulse/pulse_stubs.cc:17:10: fatal error: pulse/pulseaudio.h file not found
#include pulse/pulseaudio.h^~~~~~~~~~~~~~~~~~~~
1 error generated.
[6644/46562] CXX obj/extensions/common/api/generated_api_types/networking_private.o
ninja: build stopped: subcommand failed.sudo apt install libpulse-dev fatal error: ‘curl/curl.h’ file not found
../../third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc:17:10: fatal error: curl/curl.h file not found
#include curl/curl.h^~~~~~~~~~~~~
1 error generated.
[845/39891] CXX obj/third_party/crashpad/crashpad/util/util/metrics.o
ninja: build stopped: subcommand failed.sudo apt install libcurl4-openssl-devfatal error: ‘pci/pci.h’ file not found
../../third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp:12:10: fatal error: pci/pci.h file not found
#include pci/pci.h^~~~~~~~~~~
1 error generated.
[3735/39047] CXX obj/third_party/vulkan-deps/vulkan-validation-layers/src/VkLayer_khronos_validation/chassis.o
ninja: build stopped: subcommand failed.sudo apt install libpci-devfatal error: ‘alsa/asoundlib.h’ file not found
../../media/midi/midi_manager_alsa.h:8:10: fatal error: alsa/asoundlib.h file not found
#include alsa/asoundlib.h^~~~~~~~~~~~~~~~~~
1 error generated.
[4066/35313] CXX obj/media/mojo/mojom/speech_recognition/speech_recognition.mojom.o
ninja: build stopped: subcommand failed.sudo apt install libasound2-devfatal error: ‘gssapi.h’ file not found
../../net/http/http_auth_gssapi_posix.h:26:10: fatal error: gssapi.h file not found
#include gssapi.h^~~~~~~~~~
1 error generated.
[483/31248] CXX obj/net/net/http_cache_transaction.o
ninja: build stopped: subcommand failed.sudo apt install libkrb5-dev当编译完成时终端显示内容
LeouLeou-PC:/media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src$ ninja -C out/Debug_GN_x64 cefclient cefsimple ceftests chrome_sandbox
ninja: Entering directory out/Debug_GN_x64
[57156/57156] LINK ./ceftests生成CEF二进制分发包
记得选上--x64-build否则默认为x86会提示找不到头文件。生成的路径为/code/chromium_git/chromium/src/cef/binary_districhromium/src/cef/binary_distrib会默认打包为zip压缩包
code/chromium_git/chromium/src/cef/tools$
# 打包Release
./make_distrib.sh --ninja-build --minimal --x64-build生成的包名 cef_binary_113.3.5g0b33855chromium-113.0.5672.129_linux64_minimal
# 同时打包Debug和Release
./make_distrib.sh --ninja-build --x64-build生成的包名
cef_binary_113.3.5g0b33855chromium-113.0.5672.129_linux64
ERROR: Please install Doxygen
ERROR: No docs generated.
Traceback (most recent call last):File make_distrib.py, line 1251, in modulecopy_files_list(build_dir, dst_dir, binaries)File make_distrib.py, line 325, in copy_files_listraise Exception(Missing required path: %s % source_path)
Exception: Missing required path: /media/Leou/53e0f2ac-c225-409c-ad9d-0cf8392c641f/code/chromium_git/chromium/src/out/Release_GN_x64/chrome_sandboxsudo apt install doxygen当然也可以禁用生成doc文档就不需要安装了。
总结
由于是事后记录出错的问题未记录解决方案难免有疏漏。我在下载、编译、生成的阶段中都会出现很多问题但总体而言Linux平台的CEF源码编译还算比较顺畅。 https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart.md https://zhuanlan.zhihu.com/p/133675543 https://keqingrong.cn/blog/2021-12-20-building-chromium-on-windows/ https://www.mycode.net.cn/language/cpp/2784.html