【chromium】win10 VS2019 环境 chromium 配置与编译。

文章目录

        • 硬件&软件配置
        • 安装 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.

【chromium】win10 VS2019 环境 chromium 配置与编译。_第1张图片
【chromium】win10 VS2019 环境 chromium 配置与编译。_第2张图片

安装 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 "[email protected]"
$ 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编译调试。

    • 【chromium】win10 VS2019 环境 chromium 配置与编译。_第3张图片

编译加速

  • 通过使用sccache 使用缓存加速chromium编译;
    - sccache 可以使用 scoop 工具scoop install sccache 下载。
    - scoop 工具通过powershell 下载:Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
    - 通常将sccache 容量扩容至30Gset SCCACHE_CACHE_SIZE="30G"

基础概念

  • 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

你可能感兴趣的:(吃亏经验!,visual,studio,ide,visualstudio,chromium)