Ue4升级chrome内核
1、下載Chromium Embedded Framework (CEF)二進制包
選擇windows 64bit:https://cef-builds.spotifycdn.com/index.html#windows64
下載后將庫復制到\Source\ThirdParty\CEF3目錄,并按如下方式改名
cef_binary_89.0.17.ge7bbb1d_windows64
并將Debug或Release下所有文件(.dll、.bin)級文件夾復制到Engine\ThirdParty\CEF3\Win64\,如果需要調試則要將下載的匹配版本的libcef.dll.pdb拷貝到此文件夾下。
2、修改\Source\ThirdParty\CEF3\CEF3.build.cs
public CEF3(ReadOnlyTargetRules Target) : base(Target)
?? ?{
?? ??? ?/** Mark the current version of the library */
?? ??? ?//string CEFVersion = "3.3071.1611.g4a19305";
?? ??? ?string CEFVersion = "89.0.17.ge7bbb1d";
3、編譯libcef_dll_wrapper.lib
1)修改\Source\ThirdParty\CEF3\cef_binary_89.0.17.ge7bbb1d_windows64\libcef_dll\目錄下的CMakeLists.txt文件,在頂部加上cmake_minimum_required(VERSION 3.2)
2)啟動shell,在剛才的目錄下運行cmake -G "Visual Studio 16"
如果出現錯誤
CMake Error at CMakeLists.txt:752 (SET_LIBRARY_TARGET_PROPERTIES):
? Unknown CMake command "SET_LIBRARY_TARGET_PROPERTIES".
注釋SET_LIBRARY_TARGET_PROPERTIES為:
#SET_LIBRARY_TARGET_PROPERTIES,成功后在libcef_dll目錄下會生成Project.sln,用vs2019打開編譯,可能會出現引用錯誤需要修改引用目錄,按如下操作:
工程屬性->C++目錄:包含目錄新增“$(SolutionDir)..\”
3)如果出現std::max錯誤,是因為工程中包含了windows.h或windef.h頭文件,再使用c++標準庫std::min或std::max,出現引用錯誤,要在工程配置中定義NOMINMAX宏,操作辦法如下:
選擇C/C++; 選擇Preprocessor預處理器;在Preprocessor Definitions項中輸入需要定義的宏名即可
4、因為升級內核,很多函數發生變化,需要注意修改,并重新編譯ue4代碼
5、如果需要修改工程配置,可參考
https://bebylon.dev/ue4guide/build-guide/ubt/buildconfiguration-xml-example/
6、編譯UnrealCEFSubProcess,這個需要手工編譯,編譯時會出現部分C++文件編譯不過,是因為cef類接口發生了變化,需要進行修改
? ?1)
? ?2)如果遇到編譯錯誤:
E:\UEProjects\UnrealEngine\Engine\Source\Programs\UnrealCEFSubProcess\Private\UnrealCEFSubProcessRemoteMethodHandler.h(60): error C3646: “OVERRIDE”: 未知重寫說明符
是因為,ue4中將OVERRIDE 宏undef了,需要為工程定義宏(加上紅色部分):
#define OVERRIDE override
#pragma push_macro("OVERRIDE")
#undef OVERRIDE // cef headers provide their own OVERRIDE macro
THIRD_PARTY_INCLUDES_START
#if PLATFORM_APPLE
PRAGMA_DISABLE_DEPRECATION_WARNINGS
#endif
#include "include/cef_app.h"
//#include "ThirdParty\CEF3\cef_binary_89.0.17.ge7bbb1d_windows64\include/cef_app.h"
#if PLATFORM_APPLE
PRAGMA_ENABLE_DEPRECATION_WARNINGS
#endif
THIRD_PARTY_INCLUDES_END
#pragma pop_macro("OVERRIDE")
?
?
?
總結
以上是生活随笔為你收集整理的Ue4升级chrome内核的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅析“高斯白噪声”,“泊松噪声”,“椒盐
- 下一篇: SVM之交叉验证【转】