日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ue4升级chrome内核

發布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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内核的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。