天天看點

Chromium Embedded Framework 編譯Chromium Embedded Framework 編譯

Chromium Embedded Framework 編譯

需要安裝svn、git、python環境。
確定編譯時調用的python是python2。

編譯時會通過多種方式通路網絡,需要多種方式設定代理。 
1.IE全局代理
2.環境變量:
HTTP_PROXY=http://127.0.0.1:1081
NO_AUTH_BOTO_CONFIG=C:\code\depot_tools\boto.cfg
3.指令netsh winhttp set proxy http://127.0.0.1:1081
(netsh winhttp reset重置)

C:\code\depot_tools\boto.cfg内容如下      
[Boto]
proxy=http://127.0.0.1
proxy_port=1081
           
4.有的git版本可能不會讀取環境變量,需要配置git代理
git config http.proxy http://127.0.0.1:1081      

1.建立檔案夾

c:\code\automate
c:\code\chromium_git      

2.下載下傳depot_tools

https://storage.googleapis.com/chrome-infra/depot_tools.zip
解壓到 c:\code\depot_tools       

3.運作update_depot_tools.bat

c:\code\depot_tools\update_depot_tools.bat       

4.添加環境變量

c:\code\depot_tools 添加到PATH
DEPOT_TOOLS_WIN_TOOLCHAIN=0
GYP_MSVS_VERSION=2019      

5.下載下傳automate-git.py

https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py
下載下傳到 c:\code\automate\automate-git.py      

6.建立并運作update.bat

建立檔案 c:\code\chromium_git\update.bat 
内容如下:      
set GN_DEFINES=use_jumbo_build=true is_component_build=true
set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
python ..\automate\automate-git.py --download-dir=c:\code\chromium_git --depot-tools-dir=c:\code\depot_tools --no-distrib --no-build
           
運作update.bat
Release時is_component_build=false      

7.建立并運作 create.bat

建立檔案  c:\code\chromium_git\chromium\src\cef\create.bat 
内容如下:      
set GN_DEFINES=use_jumbo_build=true is_component_build=true
set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
call cef_create_projects.bat
           
運作create.bat
Release時is_component_build=false       
需要手動在Windows10 SDK中安裝Debuggers Tools For Windows這一功能。
編譯時可能會出現找不到LASTCHANGE.committime這一檔案,在C:\code\chromium_git\chromium\src\build\util下執行python lastchange.py -o LASTCHANGE即可。      
成功後會在 c:\code\chromium_git\chromium\src\out\ 下生成項目檔案。      

8.使用ninja進行編譯

在 c:\code\chromium_git\chromium\src 目錄下
gn args out\Debug_GN_x86 可用來配置編譯參數
gclient runhooks 更新編譯時需要的依賴
ninja -C out\Debug_GN_x86 cef 執行編譯      
以下配置參數可用來啟用H264視訊解碼功能      
ffmpeg_branding="Chrome"
proprietary_codecs=true
           
編譯時需要安裝這個python包,如果沒安裝可能會報錯
python -m pip install pywin32      

gn可以使用–script-executable指定你要使用的python路徑,Chrome目前編譯還必須使用python2

9.打包

在 c:\code\chromium_git\chromium\src\cef\tools 目錄下
make_distrib --ninja-build 執行打包
帶上--minimal 可隻生成Release包      

10.生成 libcef_dll_wrapper.lib

在前面打包的基礎上,使用CMake打開,生成cef.sln
然後使用VS打開cef.sln編譯即可