• windows electron sources build,源码编译记录


    前言:

    • electron 采用chrome 编译工具链;
    • chrome 相关编译见:https://blog.csdn.net/weixin_44503157/article/details/122861075?spm=1001.2014.3001.5501

    步骤:

    1. 选择需要的版本:在electron release 中找到需要的版本(通常根据chrome 版本来选,定electron、node 的版本) https://github.com/electron/releases
    2. 构建 .gclient文件,匹配对应需要的electron 版本
    solutions = [
      { "name"        : 'src/electron',
        "url"         : 'https://github.com/electron/electron@v22.0.0-alpha.1',
        "deps_file"   : 'DEPS',
        "managed"     : False,
        "custom_deps" : {
        },
        "custom_vars": {},
      },
    ]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. gclient 文件目录直接sync:gclient sync --with_branch_heads --with_tags(electron 的deps 有添加hooks 操作,会直接拉取chrome以及子仓库,并将patch 打好)
    2. 选择自己需要的target 构建、编译
    # 进入 src 目录
    
    cd src
    
    # 设置临时的环境变量
    
    set CHROMIUM_BUILDTOOLS_PATH=%cd%\buildtools
    
    # 生成工程(Testing)
    
    gn gen out/Testing --args="import(\"//electron/build/args/testing.gn\")"
    
    # 生成工程(Release)
    
    gn gen out/Release --args="import(\"//electron/build/args/release.gn\")"
    
    # 生成工程(debug)
    
    gn gen out/Debug --args="import(\"//electron/build/args/debug.gn\")"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    # 编译 testing 版本
    
    ninja -C out/Testing electron
    
    • 1
    • 2
    • 3

    注:部分版本chromium 已经将ninja 放在了third_party下,但是有些版本deps 中没有带,需要去高版本拷贝再sync使用

    参考

    • https://github.com/electron/electron
    • https://www.electronjs.org/docs/latest/development/build-instructions-windows
    • https://github.com/electron/releases
    • https://blog.csdn.net/qq_27395289/article/details/110422777
  • 相关阅读:
    数据结构复盘——第一章:绪论
    Shell编程
    pytorch 查看GPU信息
    计算机视觉全系列实战教程:(九)图像滤波操作
    hive分区表的元数据信息numRows显示为0
    LeetCode 142. 环形链表 II
    MySQL运维4-Mycat入门
    JAVA学习笔记DAY6——SSM_Spring
    2019史上最全java面试题题库大全800题含答案
    计算机毕业设计ssm+vue基于微信的产品订单管理小程序
  • 原文地址:https://blog.csdn.net/weixin_44503157/article/details/132699649