热门标签 | 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

推荐阅读
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 如何在您的计算机上配置Python和PyCharm开发环境
    本文详细介绍了在Windows 10系统上配置Python和PyCharm开发环境的步骤。内容包括Python的安装与卸载、PyCharm的安装与卸载,以及如何在Windows 10中通过双击安装文件“python-3.7.2-amd64.exe”来完成Python的安装。此外,还提供了关于环境变量配置和基本设置的实用建议,帮助用户快速搭建高效的开发环境。 ... [详细]
  • 解决针织难题:R语言编程技巧与常见错误分析 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
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社区 版权所有