Chromium编译指南2024 Windows11篇-编译前的准备工作和Visual Studio安装(一)

前言

在这个数字化快速发展的时代,浏览器不仅是我们获取信息的窗口,更是开发者表达创意和技术实力的舞台。

Chromium是由Google于2008年发起的开源浏览器项目,致力于为用户提供更快、更安全、更稳定的网页浏览体验。

其作为开源浏览器项目的佼佼者,不仅支撑了众多主流浏览器,如Google Chrome、Microsoft Edge、Opera、Brave和Vivaldi等。更成为了前沿技术实践和创新的源泉。

深入Chromium的世界,你将有机会接触到浏览器技术的最前沿,掌握构建现代网络应用的关键技能。

此刻,你正站在一个新的起点,准备探索无限的可能。

这个系列我会持续更新,后面规划包括:

MAC的编译,调试。预计上到Chromium124。

LINUX的编译,调试。

有需求的同学可以私信我。

ANDROID平台

CEF新版本


1. 编译前的准备

  • 硬件和软件需求
    • 具有至少 8GB RAM 的 64 位 Intel 计算机。强烈建议 16GB 以上。
    • NTFS 格式的硬盘上至少有 100GB 的可用磁盘空间。不能使用FAT32格式 ,因为某些 Git 包文件大于 4GB。
    • Windows 10 或更高版本。
  • 相关文档
    • Google官方文档- https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md
    • Visual Studio 2022 - Visual Studio 2022 Release Notes | Microsoft Learn
    • Windows 11 SDK - Windows SDK - Windows app development | Microsoft Developer

2. 目前122版本Chromium需要Visual Studio 2022 (>=17.0.0) ,我们选择社区版(Community)即可

如果一直没有开始下载,可以点击红框部分重试。

允许UAC权限请求

点击继续开始初始化Visual Studio Installer工具

等待Visual Studio Installer工具,下载/初始化完成需要的资源

我们勾选“使用C++ 桌面开发” 组件,可选组件目前保持默认即可

在右侧的侧边栏中,“使用C++ 桌面开发”下的可选子组件,请勾选添加 “MFC/ATL 支持”和“Windows 11 SDK” 子组件(红框标记);黄色高亮的子组件,在有调试Chromium需求的情况下需要安装。

PS:当然您可以随时重新启动Visual Studio Installer工具,使用修改功能更改这些配置~

等待Visual Studio Installer工具,完成所选组件的下载及安装。

OK!我们完成了Visual Studio和相关依赖组件的安装~

3. 安装Windows 11 SDK

当然,如果您在安装Visual Studio的过程中勾选安装了Windows 11 SDK ,可以跳过此章节。

我们编译Chromium 122 需要 10.0.22621.2428版本的Windows 11 SDK ,红框中的是下载地址,一个是在线安装器,另一个是离线安装镜像,方便没有没有网络的情况下安装。

我们这里以离线安装镜像安装为例子,在线安装器也是一样的逻辑。

点击Continue 继续

选择Windows 11 SDK 安装路径,建议使用默认路径,这样可以免去一些奇怪的问题。

其他默认即可,请确保勾选 Debugging Tools for Windows 工具,此工具是调试Chromium的必备组件

等待安装器下载安装完毕

4. 安装Windows 11 SDK 调试工具

当然,如果您在安装Visual Studio的过程中勾选安装了Windows 11 SDK ,可以跳过此章节。

此工具再您需要进行chromium调试的时候需要安装,具体步骤可以参考章节2.2

    • 需要10.0.22621.755 或更高版本
    • 此版本的调试工具来支持读取大页面 PDB,Chrome 使用该大页面 PDB 来允许大于 4 GiB 的 PDB。

5. 结尾

通过这些步骤,您已经完成了安装了Visual Studio 2022以及所需的Windows 11 SDK和调试工具。

下一篇文章将会继续介绍如何配置depot_tools工具,这是Chromium开发过程中不可或缺的重要工具之一。它将帮助您管理Chromium代码库,进行版本控制和代码同步,为您的开发工作提供便利和支持。敬请期待!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/616598.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

团结引擎+OpenHarmony 3 通信

团结引擎和鸿蒙之间通信 因为 ts 并没有像 JAVA 有反射的调用,所以我们必须要像 Web GL 平台一样通过导出的行为告诉引擎到底哪些 ts 的接口可以给 C# 来调用。 1 在 Tuanjie 引擎里 需要一个tsllib文件,用于设置给导出对象 C#使用。就可以直接创建以 …

基于大模型的idea提炼:围绕论文和引用提炼idea之ResearchAgent

前言 对本博客比较熟悉的朋友知道,我司论文项目组正在基于大模型做论文的审稿(含CS英文论文审稿、和金融中文论文审稿)、翻译,且除了审稿翻译之外,我们还将继续做润色/修订、idea提炼(包含论文检索),是一个大的系统,包…

C# 统计代码运行时长

using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms;namespace Sci {/// <summary>/// 统计代码…

如何通过iptables配置URL过滤黑名单?

正文共&#xff1a;1555 字 16 图&#xff0c;预估阅读时间&#xff1a;2 分钟 我们前面曾经简单介绍过URL过滤功能&#xff08;URL过滤功能了解一下&#xff1f;&#xff09;&#xff0c;并且以H3C VFW为例简单配置了一下URL过滤功能。 首先回顾一下&#xff0c;URL过滤&#…

若依微服务docker-compose 启动

docker-compose 文件 version : 3 services: ruoyi-nacos: container_name: ruoyi-nacos image: nacos/nacos-server build: context: ./nacos environment: - MODEstandalone volumes: - ./nacos/logs/:/home/nacos/logs - ./n…

【linux-IMX6ULL-定时器-GPT-串口配置流程-思路】

目录 1. 定时器配置流程1.1 EPIT定时器简介1.2 定时器1(epit1)的配置流程1.3 配置代码(寄存器版本)1.4 定时器-配合按键消抖1.4.1 实现原理1.4.2 代码实现&#xff08;寄存器版&#xff09; 2. GPT定时器实现高精度延时2.1 延时原理分析2.2 代码实现 3. UART串口配置流程3.1 UA…

Kafka的安装及接入SpringBoot

环境&#xff1a;windows、jdk1.8、springboot2 Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/ 1.概述 Kafka 是一种高性能、分布式的消息队列系统&#xff0c;最初由 LinkedIn 公司开发&#xff0c;并于2011年成为 Apache 顶级项目…

Datax数据采集

一、Datax介绍 官网&#xff1a; DataX/introduction.md at master alibaba/DataX GitHub DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。 DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、…

# ERROR: node with name “rabbit“ already running on “MS-ITALIJUXHAMJ“ 解决方案

ERROR: node with name “rabbit” already running on “MS-ITALIJUXHAMJ” 解决方案 一、问题描述&#xff1a; 1、启动 rabbitmq-server.bat 服务时&#xff0c;出错 Error 2、查询 rabbitmqctl status 状态时&#xff0c;出错 Error 3、停止 rabbitmqctl stop 服务时&a…

探索人类意识的多样性:从安全感到语感、节奏感的差异

在我们的日常生活中&#xff0c;人类意识表现出多种多样的特点&#xff0c;这些特点往往与个体的天生禀赋和生活经历密切相关。从安全感到语感、节奏感&#xff0c;每个人的表现都有所不同。今天&#xff0c;让我们一起来探索这些差异&#xff0c;感受人类意识的多样性。 首先&…

指针(5)加油吧

指针&#xff08;5&#xff09; 拿冒泡排序来举例&#xff1a; 1 .qsort void qsort (void* base,//base指向待排序数组的首元素的指针size_t num,//base指向数组中元素的个数size_t size,//base指向的数组中的一个元素的大小&#xff0c;单位是字节int(*cmp)(const void*,co…

通过mvn archetype 创建一个spring boot start 工程

mvn archetype https://maven.apache.org/archetype/index.html 遇到的问题 对于想自定义一个spring-boot-start的同学,比如 Springboot自定义Starter启动器 整个过程很繁琐。 定义属性开关增加 spring boot test start插件定义自动装载 spring.factories or org.springfra…

类加载机制(双亲委派机制)

文章目录 JVM的作用是什么双亲委派机制加载流程 JVM的作用是什么 我们运行Java程序时&#xff0c;要安装JDK&#xff0c;JDK包含JVM&#xff0c;不同环境的JDK都是不同的。 Java 代码在编译后会形成 class 的字节码文件&#xff0c;该字节码文件通过 JVM 解释器&#xff0c;生…

【牛客】SQL206 获取每个部门中当前员工薪水最高的相关信息

1、描述 有一个员工表dept_emp简况如下&#xff1a; 有一个薪水表salaries简况如下&#xff1a; 获取每个部门中当前员工薪水最高的相关信息&#xff0c;给出dept_no, emp_no以及其对应的salary&#xff0c;按照部门编号dept_no升序排列&#xff0c;以上例子输出如下: 2、题目…

7.STL_string(详细)

1. 什么是STL STL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且 是一个包罗数据结构与算法的软件框架。 2. STL的版本 原始版本 Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版…

[单机]成吉思汗3_GM工具_VM虚拟机

稀有端游成吉思汗1,2,3单机版虚拟机一键端完整版 本教程仅限学习使用&#xff0c;禁止商用&#xff0c;一切后果与本人无关&#xff0c;此声明具有法律效应&#xff01;&#xff01;&#xff01;&#xff01; 教程是本人亲自搭建成功的&#xff0c;绝对是完整可运行的&#x…

校园管理系统,基于 SpringBoot+Vue+MySQL 开发的前后端分离的校园管理系统设计实现

目录 一. 前言 二. 功能模块 2.1. 管理员功能模块 2.2. 用户功能模块 2.3. 院校管理员功能模块 三. 部分代码实现 四. 源码下载 一. 前言 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身…

[240512] x-cmd 发布 v0.3.6: (se,wkp,ddgo...)x( kimi,gemini,gpt...)

目录 x-cmd 发布 v0.3.6新增了 jina 模块新增了 ddgo 模块新增了 se 模块wkp 模块新增了 writer 模块cosmo 模块 x-cmd 发布 v0.3.6 本次版本的最新引入的功能都是目的为了进一步探索 LLM 的使用。 本版本的改进分为两类&#xff1a;资讯类模块&#xff08;Wikipedia&#xf…

十、Redis内存回收策略和机制

1、Redis的内存回收 在Redis中可以设置key的过期时间&#xff0c;以期可以让Redis回收内存&#xff0c;循环使用。在Redis中有4个命令可以设置Key的过期时间。分别为 expire、pexpire、expireat、pexpireat。 1.1、expire expire key ttl&#xff1a;将key的过期时间设置为tt…

web前端之sass中的颜色函数、active按钮激活、hover鼠标悬浮、disabled禁用、scss循环、css

MENU 效果图htmlsassscss编译后的css页面css 效果图 注意查看蓝色按钮。 html <div class"box"><button class"btn type_1">按钮</button><button class"btn type_2">按钮</button><button class"btn ty…