热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【chromium】win10VS2019环境chromium配置与编译。

文章目录硬件&软件配置安装depot_toolsgetthecode编译基础概念硬件&软件配置系统需求:vs2019需求:最好默认路径,


文章目录

        • 硬件&软件配置
        • 安装 depot_tools
        • get the code
        • 编译
        • 基础概念


硬件&软件配置

系统需求:
在这里插入图片描述
vs2019 需求: 最好默认路径,减少麻烦。


  • 桌面c++
    • mfc、atl
  • .>= 10.0.19041 win10 SDK
    • SDK Debugging Tools,控制面板程序中勾选安装
      • Control Panel → Programs → Programs and Features → Select the “Windows Software Development Kit” → Change → Change → Check “Debugging Tools For Windows” → Change.

在这里插入图片描述
在这里插入图片描述


安装 depot_tools

下载链接


  • 下载
  • 环境变量 path 添加 depot_tools 安装路径
  • 系统变量添加 DEPOT_TOOLS_WIN_TOOLCHAIN ,并设置为0
  • 按下面命令在 cmd 设置自己的VS路径
    • set vs2019_install=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
    • gclient
      • 用于安装windows 需要的东西,如mysysgit 、python
  • 确定 python安装
    • where python 确定 python.bat 在 python.exe.之前

get the code


通常需要设置代理/ 有全局代理


$ git config --global user.name "My Name"
$ git config --global user.email "my-name@chromium.org"
$ git config --global core.autocrlf false
$ git config --global core.filemode false
$ git config --global branch.autosetuprebase always

  • fetch 代码
    • fetch --no-history chromium 不下载历史信息
      • 大概率需要设代理,中断的话,使用gclient sync同步
      • 如果需要历史信息,以回退调试固定版本,还是留着历史好了。

  • 出现了错误:应该是代理问题?没下载到这个一个文件。
    • Failed to download prebuilt clang package clang-llvmorg-14-init-17086-g38e16e1c-6.tgz Use build.py if you want to build locally. Exiting.
  • 然后使用gclient sync同步。
    • 出现问题:将对应error文件夹都删掉重新同步就好了。
      • Syncing projects: 85% (18/21) src/third_party/angle src/docs/website (ERROR)


编译


  • gn gen --ide=vs out\build 生成 vs工程(可以使用VS编译了,或者用命令行用ninja编译)

    • 得到结果:
      • Generating Visual Studio projects took 12001ms Done. Made 17069 targets from 2996 files in 43099ms
  • ninja -C out\build chrome 使用ninja 编译 (需很久)(出错可以重复增量编译?)

    • 结果:[52062/52062] STAMP obj/chrome/chrome.stamp
  • 可以VS打开.exe 单步调试。

  • 可以VS打开all.sln GN编译调试。

    • 在这里插入图片描述

基础概念


  • gn & ninja

    • gn 相当于 cmake;ninja 相当于 make;
      • gn 取代 GYP,GYP取代CMake 。gn 用C++写,提高速度。
        • GYP相较于CMake:GYP 配置文件编写方式 强调模块化、结构化。
      • gn 使用 Ninja 取代 Make 作为新的构建工具。Ninja 追求速度,减少特性以加快编译速度,
        • ninja 使用build.ninja 定义构建规则,相当于make 的Makefile
    • Chromium使用 Ninja 作为编译工具,使用GN生成.ninja配置文件
  • so many projects

    • 解决方案文件.sln 中有太多的项目了,找想看的看吧。
    • 然后attach上进程debug

推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • 前言本篇为大家总结社区多人合作常见的场景和对应的git操作命令。本篇非新手教程,阅读本篇前需具备Git基础知识。Git入门教程请参考https://www ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • 【云计算】Dockerfile、镜像、容器快速入门 ... [详细]
  • Git GitHub多人协作
    在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备: ... [详细]
  • 双十一在家学用 Git
    对于所有的开发者来说,掌握一门代码版本控制系统都是必须的,无论是自己做项目,团队合作,工作中的合作,都离不开版 ... [详细]
author-avatar
小妖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有