锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
chrome源码最后一个支持xp版本(49.0.2623.112)代码下载和编译

作者: 佚名  日期:2019-07-24 09:54:44   来源: 本站整理

 一、环境

    1、Win10专业版
    2、VS2015英文版(安装时勾选14343版本Windows10SDK)
    3、控制面板->区域->管理->更改系统区域设置,选择英语
    4、准备好VPN,推荐https://myxgj.com
二、下载chrome源代码
    1、下载生成工程工具depot_tools
    2、系统环境变量中添加
        DEPOT_TOOLS_WIN_TOOLCHAIN=0
        GYP_MSVS_VERSION=2015
        GYP_GENERATORS=msvs-ninja,ninja
    3、cmd 命令行运行gclient
三、编译
    1、cmd命令行cd到下载文件夹中的src目录
    2、切换分支git checkout 55.0.2883.105(推荐用TortoiseGit中的Switch/CheckOut切换)
    3、cmd命令行输入"gclient sync --force"同步代码
    4、D:\chromium\src\build\vs_toolchain.py中找到
        # If WINDOWSSDKDIR is not set, search the default SDK path and set it.
        if not 'WINDOWSSDKDIR' in os.environ:
        default_sdk_path = 'C:\\Program Files (x86)\\Windows Kits\\8.1'
        if os.path.isdir(default_sdk_path):
         os.environ['WINDOWSSDKDIR'] = default_sdk_path
    //设置default_sdk_path = 'C:\\Program Files (x86)\\Windows Kits\\10',使其默认用Windows10SDK
    //5、chromium\src\build\config\compiler\BUILD.gn中设置
    //  treat_warnings_as_errors = false
    //  解决把警告视为错误的问题
    //6、src\tools\gyp\pylib\gyp\MSVSVersion.py :237行 v140改为v140_xp,使其支持xp
    7、ffmpeg中有个全局常变量(变量名已经忘记)找不到符号,可以删除引用的头文件,自己定义改变量(因为是常变量)
    8、delay_load_hook_win.cc中
        #include <DelayIMP.h>之前加#define DELAYIMP_INSECURE_WRITABLE_HOOKS(注意是"之前")
        PfnDliHook __pfnDliNotifyHook2 = ChromeDelayLoadHook;
        PfnDliHook __pfnDliFailureHook2 = ChromeDelayLoadHook;
        变量前面加extern
        解决这2个变量重新定义的编译问题
    9、cmd命令行依次输入一下命令开始编译:
        $gn args out/Release
        上面这个命令会打开一个文本文件,在文件在输入
           is_component_build = false
           is_debug = false
           target_cpu = "x86"
           symbol_level = 0
           dcheck_always_on = false
           is_official_build = true
           treat_warnings_as_errors = false
           ffmpeg_branding = "Chrome"
           proprietary_codecs = true
        $gn gen  out/Release --ide=vs
        $gn gen --ide=vs --filters=//chrome out\Release //简化版
        $ninja -C out/Release chrome
 
Debug版
 
     $gn args out/Debug
        上面这个命令会打开一个文本文件,在文件在输入
           is_component_build = true
           is_debug = false
           target_cpu = "x86"
           symbol_level = 2
           dcheck_always_on = false
           is_official_build = true
           treat_warnings_as_errors = false
           ffmpeg_branding = "Chrome"
           proprietary_codecs = true
        $gn gen  out/Debug --ide=vs
        $gn gen --ide=vs --filters=//chrome out\Debug //简化版
 
        $ninja -C out/Debug chrome
 
 
        
###########################资料##############################
1、官方文档https://www.chromium.org/developers
2、关于VS调试chrome以及chrome代码大致的架构:https://github.com/pengx17/pengx17.github.io/blob/master/_posts/2012-12-05-learning-chromium.md
调试:    
    devenv /debugexe out\Debug\7654Browser.exe --renderer-startup-dialog --no-sandbox
3、本地化:http://blog.csdn.net/tfancy2012/article/details/51524293
4、chrome.user32.delay.imports中标记的函数xp中没有
//5、xp中如果打不开网页或者找不到函数,直接删除该函数的调用
--------------------- 
作者:lijun4727 
来源:CSDN 
原文:https://blog.csdn.net/lijun4727/article/details/78421294 
版权声明:本文为博主原创文章,转载请附上博文链接!


热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等