• 源码编译CEF(branch=6045)+mp4+mp3笔记


    接触Chromium已经过去多年了,一直都依赖别人编译的库,最近想自己整一个,所以有了这篇笔记。

    环境要求:WIN10,内存16G,固态硬盘空间200G+,VS2022,科学上网(具体配置我这边不需要,我直接使用专线电脑跳板的,可以查看一些网页资料)

    第一,最重要的告诫:不要有强迫症。

    例如遇到 UnicodeDecodeError: 'gbk' codec can't decode byte 0x92 in position 241: illegal multibyte sequence 不要理它,主要编译不中断,啥提示先放一边。我一直想着让这些烦人的消息去掉,结果加了

    1. set PYTHONLEGACYWINDOWSSTDIO=utf8
    2. set PYTHONIOENCODING=utf8
    3. set PYTHONUTF8=1

    chcp 65001

    然而没啥用,有时候还会自动中断。有人说这个是中文语言配置问题,可能吧。只要你不管它,不影响编译结果。

    第二,如果仅仅开mp4,估计配置上就加这样一行代码就够了。

    1. set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome chrome_pgo_phase=0 use_thin_lto=false use_jumbo_build=true
    2. set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*

    其中use_thin_lto=false没有的话,debug版本打包不进来,会中断的。chrome_pgo_phase=0如不关闭这个玩意,可能要修改文件,路径在“chromium\src\build\config\compiler\pgo\pgo.gni”,所以建议使用GN_DEFINES搞定。也有人建议is_component_build=false减少编译,我这里没配置,编译好像蛮久的。

    第三,遇到out of memory的中断,如果已经是16G内存的,可以重试几次,如果没法解决,建议重启电脑,然后将其他的程序能关的都关了,重试。如果还是不行,可以在我的电脑-》属性-》高级系统设置-》“高级”页面中性能“设置”,将缓存内存也配置成16G,重启后再来一遍。如果是8G内存的,可能有点问题,只能看运气吧,我观察了一下,在最后link的时候内存飙升到16G的。

    第四,如果只编译一个版本,例如x64,只需要编译out目录下的“Debug_GN_x64”,“Release_GN_x64”,“Debug_GN_x64_sandbox”,“Release_GN_x64_sandbox”。其中两个sandbox版本用时比较短,可以先编译的。

    1. ninja -j8 -C out\Release_GN_x64_sandbox cef_sandbox
    2. ninja -j8 -C out\Debug_GN_x64_sandbox cef_sandbox

    我之前也犯错了,使用“ninja -j8 -C out\Release_GN_x64_sandbox cef”结果一直说找不到std的一些函数,其实“**_sandbox”这些目录一定是给cef_sandbox配置的,不要当它cef编译!

    另外就是加-j8代表最多可以并发8个clang-cl.exe编译,最好根据自己的电脑配置一下,如果不填的话,应该是满核运行(例如我的电脑12核,就有12个并发,应该是做了检测的),我建议是:不要满核,可以避免卡住和内存崩掉,当然设置后效率没那么高。

    最后将配置发一份

    这里有两个文件夹 E:\cef\code\depot_tools (需要配置到Path里面) 和 E:\cef\code\chromium_git

    一个文件E:\cef\code\automate\automate-git.py,这个玩意在CEF工程里面的(cef\tools\automate)。

    在E:\cef\code\chromium_git下建一个update.bat文件,内容如下:

    1. set GN_DEFINES=is_component_build=false
    2. set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome
    3. set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
    4. python3 ..\automate\automate-git.py --download-dir=E:\cef\code\chromium_git --depot-tools-dir=E:\cef\code\depot_tools --no-distrib --no-build --branch=6045

    运行update.bat之后就是漫长的等待,直到完成,其中的艰辛不提也罢。最终在E:\cef\code\chromium_git 目录下会有两个文件夹 cef,chrome。而chrome/src下必须有cef目录,否则就是没下载完成,需要重新运行update.bat.

    代码更新完毕就开始魔改一下。这个可以百度一下。我这里抄个简单的。

    在GN运行之前(create,bat), 可以修改build_ffmpeg.py,位置大概在chromium\src\third_party\ffmpeg\chromium\scripts;

    1. 原版:
    2. configure_flags['Chrome'].extend([
    3. '--enable-decoder=aac,h264',
    4. '--enable-demuxer=aac',
    5. '--enable-parser=aac,h264',
    6. ])
    7. 修改:
    8. configure_flags['Chrome'].extend([
    9. '--enable-decoder=aac,h264,hevc,mp3,mpeg4,amrnb,amrwb,flv',
    10. '--enable-demuxer=aac,mp3,mov,avi,amr,flv',
    11. '--enable-parser=aac,h264,mpegaudio,mpeg4video,h263,hevc',
    12. ])

    貌似这样修改,得到的文件也不支持h265(使用html5test.com测试),如果可以的话,还是在下面的方法配置一下试试(实验时间太久了,我放弃。这个py文件我改了一下,h265可能对应填hevc,可以尝试。)

    在GN运行之后(create,bat)只能修改下面两个目录的h文件。

    \chromium\src\third_party\ffmpeg\chromium\config\Chrome\win 和\chromium\src\third_party\ffmpeg\chromium\config\Chrome\win-msvc都改了把。

    我只对x64说明,其他的一样修改。

    x64\config_components.h 将 x64\config.h

    其中x64\config.h将注释掉的FFMPEG_CONFIGURATION重新配置一下;x64\config_components.h则将类似CONFIG_MP3_DECODER设置为1

    安装官方的说法是在chrome/src/cef下建议create.bat的。我查看了一下,实际上是运行python文件。所以我create.bat改成这样:

    1. set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome chrome_pgo_phase=0 use_thin_lto=false use_jumbo_build=true
    2. set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
    3. #call call cef_create_projects.bat
    4. python3 E:\cef\code\chromium_git\chromium\src\cef\tools\gclient_hook.py

    然后放到E:\cef\code\chromium_git运行,不要在cef里面运行。

    运行完create.bat后,在\chromium\src\out下面得到8个文件夹,例如“Debug_GN_x64”等。

    然后CD到\chromium\src目录下,运行下面代码

    1. ninja -j8 -C out\Release_GN_x64_sandbox cef_sandbox
    2. ninja -j8 -C out\Debug_GN_x64_sandbox cef_sandbox
    3. ninja -j8 -C out\Release_GN_x86_sandbox cef_sandbox
    4. ninja -j8 -C out\Debug_GN_x86_sandbox cef_sandbox
    5. ninja -j8 -C out/Release_GN_x64 cef
    6. ninja -j8 -C out/Debug_GN_x64 cef
    7. ninja -j8 -C out/Release_GN_x86 cef
    8. ninja -j8 -C out/Debug_GN_x86 cef

    Sandbox部分可以优先编译,要一条一条来,没法一次完成,除非独立变成一个bat,然后使用call方法调用。

    如果只编译x64,那就挑出一些编译,编译完成后,运行:

    1. set CEF_VCVARS=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat
    2. python3 E:\cef\code\chromium_git\chromium\src\cef\tools\make_distrib.py --output-dir=E:\cef\code\chromium_git\out\x64 --allow-partial --x64-build --ninja-build

    如果是x86,则

    1. set CEF_VCVARS=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars32.bat
    2. python3 E:\cef\code\chromium_git\chromium\src\cef\tools\make_distrib.py --output-dir=E:\cef\code\chromium_git\out\x86 --allow-partial --ninja-build

    最后机器翻译+人工整理了一份MasterBuildQuickStart,可以比对一下我前面的总结 (2023-09-28版)

    1. cef / MasterBuildQuickStart
    2. https://bitbucket.org/chromiumembedded/cef/wiki/MasterBuildQuickStart#markdown-header-windows-setup
    3. 此 Wiki 页面提供了使用当前主(开发)分支创建 CEF/Chromium 调试版本的快速入门指南。
    4. 编辑请注意:未经CEF 论坛或问题跟踪器事先批准而对此 Wiki 页面所做的更改可能会丢失或恢复。
    5. 概述
    6. 文件结构
    7. Windows 设置
    8. Mac OS X 设置
    9. Linux设置
    10. 下一步
    11. 概述
    12. 本页面提供了快速入门指南,用于设置最小开发环境并构建 Chromium/CEF 主分支以进行开发。有关可用工具和配置的全面讨论,请访问BranchesAndBuilding Wiki 页面。
    13. 本指南不适用于:
    14. 那些寻求在第三方应用程序中使用的预构建二进制发行版的人。去这里吧。
    15. 那些寻求以完全自动化的方式构建二进制发行版的人。去这里吧。
    16. 开发系统可以使用专用硬件或VMware、Parallels或VirtualBox虚拟机进行配置。
    17. 除了主分支之外,以下步骤通常可用于开发 CEF/Chromium 的最新版本分支。Chromium 构建要求会随着时间的推移而变化,因此在尝试构建发布分支之前,请先查看BranchesAndBuilding Wiki 页面上列出的构建要求。然后只需添加--branch=XXXX到automate-git.py命令行,其中“XXXX”是您想要构建的分支号。
    18. 文件结构
    19. 所有平台都将使用相同的文件结构。“~”可以是不包含空格或特殊字符的任何路径。我们将在以下部分中为每个平台构建此目录结构。
    20. ~/code/
    21. automate/
    22. automate-git.py <-- CEF build script
    23. chromium_git/
    24. cef/ <-- CEF source checkout
    25. chromium/
    26. src/ <-- Chromium source checkout
    27. update.[bat|sh] <-- Bootstrap script for automate-git.py
    28. depot_tools/ <-- Chromium build tools
    29. 使用此文件结构,您可以并行开发多个 CEF/Chromium 分支。例如,使用“chromium_git1”而不是“chromium_git”作为目录名称重复以下说明。
    30. Windows 设置
    31. 需要什么
    32. BranchesAndBuilding Wiki 页面上列出的 Windows 构建要求。
    33. 按照此处所述安装所需的 Visual Studio 子组件。
    34. 安装默认位置中指定的确切 Windows SDK 版本以避免构建问题。
    35. 至少 16GB RAM(建议 32GB+)和 150GB 可用磁盘空间(用于调试版本)。
    36. 使用快速互联网连接 (100Mbps) 和快速构建机器(2.4Ghz、16 个逻辑核心、SSD)大约需要 4 小时。
    37. 分步指南
    38. 以下所有命令都应使用系统“cmd.exe”运行,而不是使用 Cygwin shell。
    39. 1. 创建以下目录。
    40. c:\code\automate
    41. c:\code\chromium_git
    42. 警告:如果更改上述目录名称/位置,请确保 (a) 仅使用 ASCII 字符并 (b) 选择短文件路径(总共少于 35 个字符)。否则,由于文件路径无效或过长,某些工具可能会在构建过程中稍后失败。
    43. 2. 下载depot_tools.zip(https://chromium.googlesource.com/chromium/tools/depot_tools.git)并解压到“c:\code\depot_tools”。不要使用资源管理器中的拖放或复制粘贴提取,这不会提取隐藏的“.git”文件夹,而该文件夹是 depot_tools 自动更新所需的。不过,您可以从上下文菜单中使用“提取全部...”。7-zip也是一个很好的工具。
    44. 3. 运行“update_depot_tools.bat”安装Python和Git。
    45. cd c:\code\depot_tools
    46. update_depot_tools.bat
    47. 4. 将“c:\code\depot_tools”文件夹添加到系统路径中。例如,在 Windows 10 上:
    48. 运行“系统属性高级”命令。
    49. 单击“环境变量...”按钮。
    50. 双击“系统变量”下的“路径”以编辑值。
    51. 5. 将automate-git.py(https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py)脚本下载到“c:\code\automate\automate-git.py”。
    52. 6. 使用以下内容创建“c:\code\chromium_git\update.bat”脚本。
    53. set GN_DEFINES=is_component_build=true
    54. set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
    55. python3 ..\automate\automate-git.py --download-dir=c:\code\chromium_git --depot-tools-dir=c:\code\depot_tools --no-distrib --no-build
    56. 运行“update.bat”脚本并等待 CEF 和 Chromium 源代码下载。CEF源代码将下载到“c:\code\chromium_git\cef”,Chromium源代码将下载到“c:\code\chromium_git\chromium\src”。下载完成后,CEF源代码将被复制到“c:\code\chromium_git\chromium\src\cef”。
    57. cd c:\code\chromium_git
    58. update.bat
    59. 7. 使用以下内容创建“c:\code\chromium_git\chromium\src\cef\create.bat”脚本。
    60. set GN_DEFINES=is_component_build=true
    61. set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
    62. call cef_create_projects.bat
    63. 运行“create.bat”脚本生成 Ninja 和 Visual Studio 项目文件。
    64. cd c:\code\chromium_git\chromium\src\cef
    65. create.bat
    66. 这将生成一个“c:\code\chromium_git\chromium\src\out\Debug_GN_x86\cef.sln”文件,可以在 Visual Studio 中加载该文件以调试和编译单个文件。将此路径中的“x86”替换为“x64”,以使用 64 位构建而不是 32 位构建。始终使用 Ninja 构建完整的项目。如果更改项目配置或在 GN 配置(BUILD.gn 文件)中添加/删除文件,请重复此步骤。
    67. 8. 使用 Ninja 创建 CEF/Chromium 的调试版本。编辑“c:\code\chromium_git\chromium\src\cef”处的 CEF 源代码,并多次重复此步骤以在开发时执行增量构建。
    68. cd c:\code\chromium_git\chromium\src
    69. ninja -C out\Debug_GN_x86 cef
    70. 将“Debug”替换为“Release”以生成发布版本而不是调试版本。将“x86”替换为“x64”以生成 64 位构建而不是 32 位构建。
    71. 9. 运行生成的 cefclient 示例应用程序。
    72. cd c:\code\chromium_git\chromium\src
    73. out\Debug_GN_x86\cefclient.exe
    74. 有关详细的调试说明,请参阅Windows 调试指南。
    75. Mac OS X 设置
    76. 需要什么
    77. BranchesAndBuilding Wiki 页面上列出了 macOS 构建要求。
    78. 所有版本都支持在 Intel Mac 上构建。从 M93(4577 分支)开始,支持在 Apple Silicon (ARM64) Mac 上构建。
    79. 至少 16GB RAM(建议 32GB+)和 150GB 可用磁盘空间(用于调试版本)。
    80. 使用快速互联网连接 (100Mbps) 和快速构建机器(2.4Ghz、16 个逻辑核心、SSD)大约需要 4 小时。
    81. 分步指南
    82. 在此示例中,“~”是“/Users/marshall”。请注意,在某些情况下必须使用绝对路径。本节中描述的环境变量可以添加到“~/.bash_profile”文件中,以在会话中保留它们。
    83. 1. 创建以下目录。
    84. mkdir ~/code
    85. mkdir ~/code/automate
    86. mkdir ~/code/chromium_git
    87. 2. 使用 Git 下载“~/code/depot_tools”。
    88. cd ~/code
    89. git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    90. 3. 将“~/code/depot_tools”目录添加到您的 PATH 中。注意这里使用的是绝对路径。
    91. export PATH=/Users/marshall/code/depot_tools:$PATH
    92. 4. 将automate-git.py脚本下载到“~/code/automate/automate-git.py”。
    93. 5. 使用以下内容创建“~/code/chromium_git/update.sh”脚本。
    94. #!/bin/bash
    95. python3 ../automate/automate-git.py --download-dir=/Users/marshall/code/chromium_git --depot-tools-dir=/Users/marshall/code/depot_tools --no-distrib --no-build --x64-build
    96. ⚠如果使用 Apple Silicon Mac 而不是 Intel Mac,则替换--x64-build为--arm64-build
    97. 赋予其可执行权限。
    98. cd ~/code/chromium_git
    99. chmod 755 update.sh
    100. 运行“update.sh”脚本并等待 CEF 和 Chromium 源代码下载。CEF源代码将下载到“~/code/chromium_git/cef”,Chromium源代码将下载到“~/code/chromium_git/chromium/src”。下载完成后,CEF源代码将被复制到“~/code/chromium_git/chromium/src/cef”。
    101. cd ~/code/chromium_git
    102. ./update.sh
    103. 6. 运行“~/code/chromium_git/chromium/src/cef/cef_create_projects.sh”脚本创建 Ninja 项目文件。如果更改项目配置或在 GN 配置(BUILD.gn 文件)中添加/删除文件,请重复此步骤。
    104. cd ~/code/chromium_git/chromium/src/cef
    105. ./cef_create_projects.sh
    106. ⚠ 如果使用 Apple Silicon Mac 而不是 Intel Mac,请在运行前cef_create_projects.sh添加export GN_DEFINES=is_component_build=true.
    107. 7. 使用 Ninja 创建 CEF/Chromium 的调试版本。编辑“~/code/chromium_git/chromium/src/cef”中的 CEF 源代码,并多次重复此步骤以在开发时执行增量构建。
    108. cd ~/code/chromium_git/chromium/src
    109. ninja -C out/Debug_GN_x64 cef
    110. ⚠ 如果使用 Apple Silicon Mac 而不是 Intel Mac,请将“x64”替换为“arm64”。将“Debug”替换为“Release”以生成发布版本而不是调试版本。
    111. 8. 运行生成的 cefclient、cefsimple 和/或 ceftests 示例应用程序。
    112. cd ~/code/chromium_git/chromium/src
    113. open out/Debug_GN_x64/cefclient.app
    114. # 或者直接在控制台运行查看日志输出:
    115. ./out/Debug_GN_x64/cefclient.app/Contents/MacOS/cefclient
    116. 有关详细的调试说明,请参阅Mac OS X 调试指南。
    117. Linux设置
    118. 需要什么
    119. BranchesAndBuilding Wiki 页面上列出了 Linux 构建要求。
    120. 使用其他版本或发行版构建尚未经过测试,可能会遇到问题。
    121. 至少 16GB RAM(推荐 32GB+)和 120GB 可用磁盘空间(用于调试版本)。
    122. 使用快速互联网连接 (100Mbps) 和快速构建机器(2.4Ghz、16 个逻辑核心、SSD)大约需要 4 小时。
    123. 分步指南
    124. 在此示例中,“~”是“/home/marshall”。请注意,在某些情况下必须使用绝对路径。本节中描述的环境变量可以添加到“~/.profile”或“~/.bashrc”文件中,以在会话中保留它们。
    125. 1. 创建以下目录。
    126. mkdir ~/code
    127. mkdir ~/code/automate
    128. mkdir ~/code/chromium_git
    129. 2. 下载并运行“~/code/install-build-deps.py”以安装构建依赖项。对所有问题回答 Y(是)。
    130. cd ~/code
    131. sudo apt-get install curl file lsb-release procps python3 python3-pip
    132. curl 'https://chromium.googlesource.com/chromium/src/+/main/build/install-build-deps.py?format=TEXT' | base64 -d > install-build-deps.py
    133. sudo python3 ./install-build-deps.py --no-arm --no-chromeos-fonts --no-nacl
    134. python3 -m pip install dataclasses importlib_metadata
    135. 3.使用Git下载“~/code/depot_tools”。
    136. cd ~/code
    137. git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    138. 4. 将“~/code/depot_tools”目录添加到您的 PATH 中。注意这里使用的是绝对路径。
    139. export PATH=/home/marshall/code/depot_tools:$PATH
    140. 5. 下载“~/automate/automate-git.py”脚本。
    141. cd ~/code/automate
    142. wget https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py
    143. 6. 使用以下内容创建“~/code/chromium_git/update.sh”脚本。
    144. #!/bin/bash
    145. python3 ../automate/automate-git.py --download-dir=/home/marshall/code/chromium_git --depot-tools-dir=/home/marshall/code/depot_tools --no-distrib --no-build
    146. 赋予其可执行权限。
    147. cd ~/code/chromium_git
    148. chmod 755 update.sh
    149. 运行“update.sh”脚本并等待 CEF 和 Chromium 源代码下载。CEF源代码将下载到“~/code/chromium_git/cef”,Chromium源代码将下载到“~/code/chromium_git/chromium/src”。下载完成后,CEF源代码将被复制到“~/code/chromium_git/chromium/src/cef”。
    150. cd ~/code/chromium_git
    151. ./update.sh
    152. 7. 配置GN_DEFINES您所需的构建环境。
    153. Chromium 提供sysroot 映像,以实现跨 Linux 发行版的一致构建。作为上述步骤 6 的一部分,必要的文件将自动下载。如果您不想处理由于与本地安装的软件包或内核版本不兼容而导致的潜在构建损坏,建议使用 Chromium 的 sysroot。要使用 sysroot 映像,请配置以下 GN_DEFINES:
    154. export GN_DEFINES="use_sysroot=true use_allocator=none symbol_level=1 is_cfi=false use_thin_lto=false"
    155. 还可以使用本地安装的软件包而不是提供的 sysroot 进行构建。选择此选项可能需要您进行额外的调试工作才能解决由此产生的任何构建错误。在 Ubuntu 18.04 上,以下 GN_DEFINES 已经过测试可靠工作:
    156. export GN_DEFINES="use_sysroot=false use_allocator=none symbol_level=1 is_cfi=false use_thin_lto=false use_vaapi=false"
    157. 请注意,使用 sysroot 映像时无法直接构建“cefclient”目标。您可以通过在完成下面的步骤 9 后创建二进制发行版,然后使用该二进制发行版构建 cefclient 目标来解决此限制。
    158. 您还可以创建AddressSanitizer 版本以增强调试功能。只需添加is_asan=true dcheck_always_on=true到上面列出的 GN_DEFINES 并out/Release_GN_x64在下面的步骤 9 中构建目录即可。asan_symbolize.py按照 AddressSanitizer 链接中所述运行脚本以获取符号化输出。
    159. 列出的其他各种 GN 参数均基于AutomateBuildSetup Wiki 页面的建议。您可以在 Chromium 源代码中按名称搜索它们以查找更多详细信息。
    160. 8. 运行“~/code/chromium_git/chromium/src/cef/cef_create_projects.sh”脚本创建 Ninja 项目文件。如果更改项目配置或在 GN 配置(BUILD.gn 文件)中添加/删除文件,请重复此步骤。
    161. cd ~/code/chromium_git/chromium/src/cef
    162. ./cef_create_projects.sh
    163. 9. 使用 Ninja 创建 CEF/Chromium 的调试版本。编辑位于“~/code/chromium_git/chromium/src/cef”的 CEF 源代码,并多次重复此步骤以在开发时执行增量构建。请注意,步骤 10 可能需要额外的“chrome_sandbox”目标。只有在步骤 7 中进行设置,“cefclient”目标才会成功构建,use_sysroot=false因此如有必要,请删除该目标。
    164. cd ~/code/chromium_git/chromium/src
    165. ninja -C out/Debug_GN_x64 cefclient cefsimple ceftests chrome_sandbox
    166. 将“Debug”替换为“Release”以生成发布版本而不是调试版本。
    167. 10.如果您使用的是较旧的内核 (< 3.8),请设置Linux SUID 沙箱。有关 Linux 沙箱技术的更多背景信息,请参阅此处。
    168. # This environment variable should be set at all times.
    169. export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox
    170. # This command only needs to be run a single time.
    171. cd ~/code/chromium_git/chromium/src
    172. sudo BUILDTYPE=Debug_GN_x64 ./build/update-linux-sandbox.sh
    173. 11. 运行 cefclient、cefsimple 和/或 ceftests 示例应用程序。use_sysroot=false请注意,只有在步骤 7 中进行设置后,cefclient 应用程序才会成功构建。
    174. cd ~/code/chromium_git/chromium/src
    175. ./out/Debug_GN_x64/cefclient
    176. 有关详细的调试说明,请参阅Linux 调试指南。
    177. 下一步
    178. 如果您正在 Linux 上寻找优秀的代码编辑器,请查看Eclipse和Emacs教程。
    179. 查看教程和GeneralUsage Wiki 页面,了解有关 CEF 实施和使用的详细信息。
    180. 查看适用于Windows、Mac OS X或Linux的 Chromium 调试指南。
    181. 当您准备好将更改贡献回 CEF 项目时,请参阅ContributingWithGit Wiki 页面以获取有关创建拉取请求的说明。
    182. 更新2023-09-28

    参考链接:

    VS2022编译和打包CEF3(+chromium)源码_cef sandbox_o派大猩o的博客-CSDN博客 (windows vs2022 branch=5672)

    Linux 编译CEF源码详细记录_cef编译 linux_L-Super的博客-CSDN博客 (linux)

    Windows 编译CEF源码详细记录-CSDN博客 (windows 比较详细的问题解决)

    cef源码 编译基础_cef源码编译-CSDN博客 (有点旧 vs2017,有些基础知识可以看看)

    记录git巨型仓库clone & windows10下cef3编译加入MP3/MP4 branch4389 - 知乎 (更古老一下,参考git的一些用法)

    如何编译出cef2623中的cef_sandbox.lib静态库-CSDN博客 (说明了cef_sandbox.lib的合成方向,可以试试)

    【精选】Win10下编译cef使其支持H.264、H.265_h264 libcef.dll-CSDN博客 (这里有写h265等修改的,可以试试,我笔记那份忘记从哪里抄来的,没支持h265)

  • 相关阅读:
    【软考学习6】计算机存储结构——局部性原理、Cache、主存地址单元、磁盘存取、总线和可靠性
    JavaScript 语法基础
    blender快捷键(持续更新)
    java计算机毕业设计任务进度监督的软件项目实训管理系统源码+数据库+系统+lw文档+mybatis+运行部署
    字节携港大南大升级 LLaVA-NeXT:借 LLaMA-3 和 Qwen-1.5 脱胎换骨,轻松追平 GPT-4V
    Unity-PDF分割器(iTextSharp)
    react跨域如何解决?
    ​​SQLiteC/C++接口详细介绍之sqlite3类(十)
    【华为OD题库-022】阿里巴巴找黄金宝箱(IV)-java
    7.27模拟赛总结
  • 原文地址:https://blog.csdn.net/ftpleopard/article/details/134548588