背景
因為項目需要在客戶端中內嵌瀏覽器,需要支持 xp 操作系統和播放視頻,但 CEF 2623 以后的版本已經不支持 xp 操作系統,也不再提供 2623 版本的二進制發布包下載,只好自己手動編譯。編譯結果要求達到:
- 可以在 xp 及以上操作系統運行
- 可以播放 mp4 視頻
在參考了很多文檔,反復嘗試很多次以后,終於編譯成功並在項目中投入使用了。
因為直接從 CEF 代碼庫 2623 分支獲取的代碼編譯會報錯,需要進行多處修改才能編譯成功。 這里把修改好的源碼分享出來,只要根據下面的操作步驟配置編譯環境,下載解壓源代碼直接編譯應該就可以成功。
總的操作步驟是:
- 安裝編譯環境
- 下載源碼壓縮包解壓
- 編譯得到 CEF 的二進制發布包(包含集成所需的頭文件和 dll,但還缺少 lib)
- 有了二進制發布包以后,就可以再輕松的編譯靜態 或 動態 lib
安裝編譯環境:
- OS: Win7 64bit 以上系統, 至少8G內存,60G以上硬盤,最好是SSD
- Visual Studio: VS2015u3 + Win10.0.14393 SDK + Ninja
- Python 2.7+
- 安裝VS2015u3的時候,默認是不會安裝Win10.0.14393 SDK的,需要手動勾選;
- 安裝python后需要將python的執行環境加入到環境變量中;
下載源碼
- 源碼放在堅果雲上供大家下載,下載速度很快,用此鏈接下載:https://www.jianguoyun.com/p/DZEq1SUQ_LKBBxjulmk
- 解壓源碼到磁盤根目錄,比如 E:, 解壓后的文件會在 E:\cef 文件夾中
編譯
- 編譯前需要保證磁盤空間至少 60G 的可用空間,最后編譯完我用了 54.8G(而且只是編譯 Release)如果 Release 和 Debug 同時編譯,可能需要准備 120G 的空間
- 編輯 E:\cef\automate\build_cef_2623.bat 文件,根據需要編譯的版本(Releae 或 Debug),打開或屏蔽相應的行,然后保存
- 進入命令行模式,切換到 E:\cef\automate 目錄, 執行 build_cef_2623.bat 即開始編譯
- 編譯大概需要 4 個小時,編譯過程中大部分時間,命令行窗口不會有變化,詳細日志會寫入 E:\cef\2623 文件夾,Release 版本大概日志寫到 400 M 就快編譯完了
- 編譯完成后的二進制發布包在 E:\cef\2623\chromium\src\cef\binary_distrib 文件夾可以找到
按照上面的方式編譯出來的是 32 位版本,且只能用於 VS2015。如果要用在其他環境,可以修改 E:\cef\automate\build_cef_2623.bat 文件中的參數,詳細可參考文末的幾篇參考文檔。
根據二進制發布包編譯 dll
- 參考這篇文章操作即可,很簡單 https://www.jianshu.com/p/4c052fd02f7a
后續會把 vs2015 32位 環境下編譯好的版本發上來,可以直接使用。
如果有問題可以加 QQ 群討論,群號:599320555
轉載請注明來自博客園 TerryHe 的微博 https://www.cnblogs.com/luckbird/p/CEF_2623_Compile.html