当前位置: 首页 > article >正文

【指纹浏览器系列-chromium编译】

本文提供了一步一步的指导来帮助读者在Windows环境下成功编译Chromium浏览器。涵盖了系统需求、开发环境搭建、代码下载及构建等关键步骤。
官方编译文档:https://github.com/chromium/chromium/blob/main/docs/windows_build_instructions.md
在这里插入图片描述

一、系统要求

一台64位的英特尔机器,至少有8GB的内存。推荐超过16GB
在ntfs格式的硬盘上至少有100GB的可用磁盘空间。否则 将无法工作,因为一些Git数据包文件大于4GB。
VisualStudio的一个适当版本,如下所述。
Windows 10 或更新。

二、安装 Visual Studio

在这里插入图片描述

您必须安装的组件: “Desktop development with C++”、“MFC/ATL support” 或者用命令行安装:

$ PATH_TO_INSTALLER.EXE ^
--add Microsoft.VisualStudio.Workload.NativeDesktop ^
--add Microsoft.VisualStudio.Component.VC.ATLMFC ^
--includeRecommended

三、安装SDK

Windows 11 SDK version 10.0.22621.2428.
(Windows 11) SDK Debugging Tools 10.0.22621.755或更高
打开"控制面板\程序\程序和功能",选择"Windows Software Development Kit [version] -> Change -> Debugging Tools for Windows",确定保存。

四、安装 depot_tools

下载 depot_tools bundle 解压到 (eg: C:\src\depot_tools).

五、设置环境变量

将"C:\src\depot_tools"添加到path的第一位
设置环境变量vs2022_install, =你的vs2022安装路径

六、git下载代码

netsh winhttp set proxy http://127.0.0.1:10809 "<local>"
set http_proxy=http://127.0.0.1:10809
set https_proxy=http://127.0.0.1:10809
git config --global user.name "fivcan"
git config --global user.email "fivcan@163.com"
git config --global core.autocrlf false
git config --global core.filemode false
git config --global branch.autosetuprebase alwaysmkdir chromium && cd chromium
fetch  --no-history chromium
gclient sync

七、构建与编译

  1. 构建
gn gen out\Default --args="is_component_build = false is_debug = false enable_nacl = false  blink_symbol_level = 0 v8_symbol_level = 0 symbol_level = 0"
以上是最小构建方式
注意:不要打开is_debug,否则编译出的chromium会非常卡
注意:不要乱去空格,否则构建不了
  1. 编译
ninja  -C  out/Default chrome
out/Default目录下许多会生成文件,chrome.exe是启动文件

3.生成安装包

ninja  -C  out/Default  mini_installer

相关文章:

【指纹浏览器系列-chromium编译】

本文提供了一步一步的指导来帮助读者在Windows环境下成功编译Chromium浏览器。涵盖了系统需求、开发环境搭建、代码下载及构建等关键步骤。 官方编译文档&#xff1a;https://github.com/chromium/chromium/blob/main/docs/windows_build_instructions.md 一、系统要求 一台…...

Docker华为云创建私人镜像仓库

Docker华为云创建私人镜像仓库 在华为云官网的 产品 中搜索 容器镜像服务 &#xff1a; 或者在其他页面的搜索栏中搜索 容器镜像服务 &#xff1a; 进入到页面后&#xff0c;点击 创建组织 &#xff08;华为云的镜像仓库称为组织&#xff09;&#xff1a; 设置组织名字后&…...

Ubuntu 22.04安装MySQL : Qwen2.5 模型对话数据收集与微调教程

在Ubuntu 22.04安装MySQL的教程请点击下方链接进行参考: 点击这里获取MySQL安装教程 今天将为大家带来如何微调Qwen2.5模型并连接数据库进行对话的教程。快跟着小编一起试试吧~ ​ 1 大模型 Qwen2.5 微调步骤 1.1 从 github 仓库 克隆项目 克隆存储库:#拉取代码 git clo…...

关于 JDK 中的 jce.jar 的详解,以及与之功能类似的主流加解密工具的详细对比分析

以下是关于 JDK 中的 jce.jar 的详细解析&#xff0c;涵盖其作用、内容、历史背景及使用注意事项&#xff1a; 一、jce.jar 的核心作用 jce.jar 是 Java Cryptography Extension (JCE) 的核心实现库&#xff0c;提供 加密算法支持&#xff0c;包括&#xff1a; 对称加密&…...

React 更新state中的对象

更新 state 中的对象 state 中可以保存任意类型的 JavaScript 值&#xff0c;包括对象。但是&#xff0c;你不应该直接修改存放在 React state 中的对象。相反&#xff0c;当你想要更新一个对象时&#xff0c;你需要创建一个新的对象&#xff08;或者将其拷贝一份&#xff09;…...

【嵌入式八股4】C++:引用、模板、哈希表与 I/O

1. 左值引用与右值引用 左值与右值的定义 左值&#xff1a;指那些可以在表达式后取得地址的对象。换句话说&#xff0c;左值代表一个可以出现在赋值号&#xff08;&#xff09;左边的值&#xff0c;也可以被修改。例如&#xff0c;变量、数组元素、以及通过引用或指针访问的对…...

算法思想之模拟

欢迎拜访&#xff1a;雾里看山-CSDN博客 本篇主题&#xff1a;算法思想之模拟 发布时间&#xff1a;2025.4.14 隶属专栏&#xff1a;算法 目录 算法介绍核心特点常见问题优化方向 例题替换所有的问号题目链接题目描述算法思路代码实现 提莫攻击题目链接题目描述算法思路代码实现…...

测试基础笔记第四天(html)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 html介绍1. 介绍2.骨架标签3.常用标签标题标签段落标签超链接标签图片标签换行和空格标签布局标签input标签&#xff08;变形金刚&#xff09;form标签列表标签 htm…...

WPF 中的元素继承层次结构 ,以下是对图中内容的详细说明:

顶层基类 DispatcherObject&#xff1a;处于继承体系最顶端&#xff0c;是一个抽象类。它为 WPF 元素提供了与 Dispatcher&#xff08;调度器&#xff09;交互的能力&#xff0c;Dispatcher 负责管理线程间的消息传递&#xff0c;确保 UI 操作在正确的线程&#xff08;通常是 …...

十九、UDP编程和IO多路复用

1、UDP编程 服务端&#xff1a; #include<stdio.h> #include <arpa/inet.h> #include<stdlib.h> #include<string.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <pthread.h> #include &l…...

DeepSeek使用001:Word中配置DeepSeek AI的V3和R1模型

文章目录 Word中配置DeepSeek大模型1、勾选开发工具2、信任中心设置3、添加DeepSeek-V3模型4、获取API KEY5、添加DeepSeek-R1模型6、新建组7、测试使用 Word中配置DeepSeek大模型 1、勾选开发工具 打开【选项】 选择【自定义功能区】 2、信任中心设置 打开【信任中心】&…...

linux tracepoint系列宏定义(TRACE_EVENT,DEFINE_TRACE等)展开过程分析之三 define_trace.h头文件

在linux tracepoint系列宏定义(TRACE_EVENT,DEFINE_TRACE等)展开过程分析之二 文章中&#xff0c;我们知道trace-events-sample.h 文件在包含了tracepoint.h后第一次对TRACE_EVENT(...)等系列宏定义进行了展开,主要是构建tracepoint 调用钩子函数,注册/注销函数。展开的第二阶段…...

TDengine 与其他时序数据库对比:InfluxDB/TimescaleDB 选型指南(二)

四、应用场景分析 &#xff08;一&#xff09;TDengine 适用场景 TDengine 适用于对写入性能和存储效率要求极高的物联网设备数据采集场景。在一个拥有数百万个传感器的智能工厂中&#xff0c;每个传感器每秒都会产生多条数据&#xff0c;TDengine 能够高效地处理这些高并发的…...

华为OD机试真题——攀登者2(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析&#xff1b; 并提供Java、python、JavaScript、C、C语言、GO六种语言的最佳实现方式&#xff01; 华为OD机试真题《攀登者2》&#xff1a; 目录 题目名称&#xff1a;攀登者2…...

Windows卸载重装Docker

卸载 删除C:\Program Files\Docker &#xff0c;如果更改了路径的就找到相关位置进行删除 删除 C:\Users\<用户名>\.docker 清理注册表&#xff0c;不然重装会报错 Exising installation is up to date 按下WindowR唤起命令输入界面&#xff0c;输入regedit打开注…...

JVM 为什么需要即时编译器?

JVM之所以需要即时编译器 (JIT Compiler)&#xff0c;是为了提高 Java 程序的执行性能&#xff0c;弥补纯解释器执行的不足。 我们可以从以下几个角度来分析一下这个问题&#xff1a; 1. 解释器的性能瓶颈: 逐条解释的开销: 解释器需要逐条读取 Java 字节码指令&#xff0c;并…...

双目视觉中矩阵等参数说明及矫正

以下是标定文件中各个参数的详细解释&#xff1a; 1. 图像尺寸 (imageSize) 参数值: [1280, 1024]含义: 相机的图像分辨率&#xff0c;宽度为1280像素&#xff0c;高度为1024像素。 2. 相机内参矩阵 (leftCameraMatrix / rightCameraMatrix) 结构: yaml data: [fx, 0, cx, 0,…...

Android Compose 框架的列表与集合模块之滑动删除与拖拽深入分析(四十八)

Android Compose 框架的列表与集合模块之滑动删除与拖拽深入分析 一、引言 本人掘金号&#xff0c;欢迎点击关注&#xff1a;https://juejin.cn/user/4406498335701950 1.1 Android Compose 简介 在 Android 开发领域&#xff0c;界面的交互性和用户体验至关重要。传统的 A…...

一、LLM 大语言模型初窥:起源、概念与核心原理

一、初识大模型 1.1 人工智能演进与大模型兴起:从A11.0到A12.0的变迁 AI 1.0时代&#xff08;2012-2022年&#xff09; 感知智能的突破&#xff1a;以卷积神经网络&#xff08;CNN&#xff09;为核心&#xff0c;AI在图像识别、语音处理等感知任务中超越人类水平。例如&#…...

PyTorch核心函数详解:gather与where的实战指南

PyTorch中的torch.gather和torch.where是处理张量数据的关键工具&#xff0c;前者实现基于索引的灵活数据提取&#xff0c;后者完成条件筛选与动态生成。本文通过典型应用场景和代码演示&#xff0c;深入解析两者的工作原理及使用技巧&#xff0c;帮助开发者提升数据处理的灵活…...

《Operating System Concepts》阅读笔记:p636-p666

《Operating System Concepts》学习第 58 天&#xff0c;p636-p666 总结&#xff0c;总计 31 页。 一、技术总结 1.system and network threats (1)attack network traffic (2)denial of service (3)port scanning 2.symmetric/asymmetric encryption algorithm (1)symm…...

Go:接口

接口既约定 Go 语言中接口是抽象类型 &#xff0c;与具体类型不同 &#xff0c;不暴露数据布局、内部结构及基本操作 &#xff0c;仅提供一些方法 &#xff0c;拿到接口类型的值 &#xff0c;只能知道它能做什么 &#xff0c;即提供了哪些方法 。 func Fprintf(w io.Writer, …...

ESP32+Arduino入门(三):连接WIFI获取当前时间

ESP32内置了WIFI模块连接WIFI非常简单方便。 代码如下&#xff1a; #include <WiFi.h>const char* ssid "WIFI名称"; const char* password "WIFI密码";void setup() {Serial.begin(115200);WiFi.begin(ssid,password);while(WiFi.status() ! WL…...

FastAPI用户认证系统开发指南:从零构建安全API

前言 在现代Web应用开发中&#xff0c;用户认证系统是必不可少的功能。本文将带你使用FastAPI框架构建一个完整的用户认证系统&#xff0c;包含注册、登录、信息更新和删除等功能。我们将采用JWT&#xff08;JSON Web Token&#xff09;进行身份验证&#xff0c;并使用SQLite作…...

CSS高度坍塌?如何解决?

一、什么是高度坍塌&#xff1f; 高度坍塌&#xff08;Collapsing Margins&#xff09;是指当父元素没有设置边框&#xff08;border&#xff09;、内边距&#xff08;padding&#xff09;、内容&#xff08;content&#xff09;或清除浮动时&#xff0c;其子元素的 margin 会…...

【数据结构】之散列

一、定义与基本术语 &#xff08;一&#xff09;、定义 散列&#xff08;Hash&#xff09;是一种将键&#xff08;key&#xff09;通过散列函数映射到一个固定大小的数组中的技术&#xff0c;因为键值对的映射关系&#xff0c;散列表可以实现快速的插入、删除和查找操作。在这…...

空地机器人在复杂动态环境下,如何高效自主导航?

随着空陆两栖机器人(AGR)在应急救援和城市巡检等领域的应用范围不断扩大&#xff0c;其在复杂动态环境中实现自主导航的挑战也日益凸显。对此香港大学王俊铭基于阿木实验室P600无人机平台自主搭建了一整套空地两栖机器人&#xff0c;使用Prometheus开源框架完成算法的仿真验证与…...

python小记(十二):Python 中 Lambda函数详解

Python 中 Lambda函数详解 Lambda函数详解&#xff1a;从入门到实战一、什么是Lambda函数&#xff1f;二、Lambda的核心语法与特点1. 基础语法2. 与普通函数对比 三、Lambda的六大应用场景&#xff08;附代码示例&#xff09;1. 基本数学运算2. 列表排序与自定义规则3. 数据映射…...

第二十一讲 XGBoost 回归建模 + SHAP 可解释性分析(利用R语言内置数据集)

下面我将使用 R 语言内置的 mtcars 数据集&#xff0c;模拟一个完整的 XGBoost 回归建模 SHAP 可解释性分析 实战流程。我们将以预测汽车的油耗&#xff08;mpg&#xff09;为目标变量&#xff0c;构建 XGBoost 模型&#xff0c;并用 SHAP 来解释模型输出。 &#x1f697; 示例…...

数据分析实战案例:使用 Pandas 和 Matplotlib 进行居民用水

原创 IT小本本 IT小本本 2025年04月15日 18:31 北京 本文将使用 Matplotlib 及 Seaborn 进行数据可视化。探索如何清理数据、计算月度用水量并生成有价值的统计图表&#xff0c;以便更好地理解居民的用水情况。 数据处理与清理 读取 Excel 文件 首先&#xff0c;我们使用 pan…...