chromium之CEF開發框架構建與編譯(windows)

一、安裝VS2015以及win10SDK

1、 Windows平臺下系統必須是Window7 x64 及以後的版本,其它版本、x86 系統不支持。

2、設置系統區域,必須選擇英語(美國)

3、 安裝VS2015

Windows 平臺下必須安裝 Visual Studio 2015 Update 2或者更高的版本,

請選擇自定義安裝,需要選以下幾項:

Ÿ  Visual C++, which will select three sub-categoriesincluding MFC

Ÿ  Universal Windows Apps Development Tools > Tools

Ÿ  Universal Windows Apps Development Tools > Windows 10SDK (10.0.10586)

 

4、 必須安裝Windows 10 SDK(10.0.10586)或者更高的版本。

5、 最新要求請參考官方文檔



二、拉取代碼&編譯:

假設在E:\ cef2840目錄下開發(2840爲分支版本)
1. 創建下面文件夾:
E:\ cef2840\automate
E:\ cef2840\chromium_git

2. 下載depot_tools,然後解壓到E:\ cef2840\depot_tools,不要使用拖拽方式解壓
注:有關depot_tools工具的介紹請參見本文檔目錄下的相關文檔。

3. 運行update_depot_tools.bat,用來安裝python、git、svn等工具。
即使本機已安裝上述工具,這裏也需要重新安裝(這一步一般需要vpn或者代理,下載的文件大概100M以內)。
cd E:\ cef2840\depot_tools
update_depot_tools.bat

4. 添加環境變量E:\ cef2840\depot_tools到PATH下。
這裏要注意若之前已解壓過depot_tools到別的目錄並且設置了環境變量,則此處需要更新路徑到新目錄。
下載腳本文件automate-git.py,放在E:\ cef2840\automate\automate-git.py

5. 使用下列代碼創建批處理文件E:\ cef2840\chromium_git\update.bat
set GYP_MSVS_VERSION=2015
python ..\automate\automate-git.py --download-dir=E:\ cef2840\chromium_git --depot-tools-dir=E:\ cef2840\depot_tools --branch=2840 --no-distrib --no-build
注:上面代碼裏的dir改成你自己的路徑。
--branch=2840,2840是cef的分支版本號,通過cd cef,git branch –r 可以查看所有cef的遠程分支版本,只能選這裏面的其中一個版本,填其他不存在的版本不行。然後會下載最新的chromium代碼,下載完後會把chromium代碼自動切換到對應的2840分支。
運行update.bat文件,它會自動下載CEF及Chromium源代碼。
CEF代碼會下載到E:\ cef2840\chromium_git\cef目錄下。
Chromium代碼會下載到E:\ cef2840\chromium_git\chromium\src目錄下。
友情提示:剛開了vpn或者代理更新depot_tools的請把vpn或者代理關閉,然後再執行update.bat下載源碼,否則vpn流量很快就被耗光了(源碼+第三方package大概13G)。


6. 使用下列代碼創建批處理文件。
E:\cef2840\chromium_git\chromium\src\cef\create.bat
set GYP_MSVS_VERSION=2015
set GYP_GENERATORS=ninja,msvs-ninja
call cef_create_projects.bat
運行create.bat,它會創建ninja和vs的工程文件cef.lsn。
運行後會在E:\ cef2840\chromium_git\chromium\src\out\目錄下產生對應的各個版本的cef.sln文件。
注:ninja是一個用來編譯和build工程的開源項目。與開發chromium一樣,這裏推薦使用vs來查看和調試代碼,使用ninja來編譯和build工程。單獨使用vs來編譯工程很可能會編不過。

7. 修改gn配置
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_GENERATORS=ninja,msvs-ninja
set GYP_MSVS_VERSION=2015
git bash
在bash窗口輸入以下指令會打開gn編譯參數配置文件args.gn
$ gn args out/Debug_GN_x86
在打開的args.gn文件中加入以下兩行即可加入mp3等支持
proprietary_codecs=true
ffmpeg_branding="Chrome"


8.生成vs解決方案all.sln(大工程,用vs打開簡直要崩潰~)
$ gn gen out/Debug_GN_x86 --ide=vs 

9.編譯(cefclient cefsimple cef_unittests,還可以添加其他的)
$ninja -C out/Debug_GN_x86 cefclient cefsimple cef_unittests

10.附加(生成某個模塊的VS解決方案)
$gn gen --ide=vs2015 --sln=content_shell --filters=//content/shell/* --no-deps out/Debug_GN_x86
--ide=vs2015    vs2015解決方案
--sln=content_shell 解決方案名稱content_shell.sln 可以取其他
--filters=//content/shell/* 源文件爲content/shell目錄下的所有文件
--no-deps 不生產其他依賴項,如果不設置,生成的解決方案很大打開很慢
out/Debug_GN_x86 輸出目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章