国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
UE4問題升級WebBrowser內(nèi)核

從UE4_26升級(失敗)

  1. 下載Chromium Embedded Framework (CEF)二進制包,將庫復(fù)制到Engine\Source\ThirdParty\CEF3目錄,并以如下方式命名。

    cef_binary_90.6.7+g19ba721+chromium-90.0.4430.212_windows64

  2. 將上述目錄中的Debug或Release下所有文件夾復(fù)制到Engine\Binaries\ThirdParty\CEF3\Win64\,如果需要調(diào)試則要將對應(yīng)版本的libcef.dll.pdb拷貝到此文件夾下。

  3. 修改\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 = "90.6.7+g19ba721+chromium-90.0.4430.212";
    }
    
    1
    2
    3
    4
    5
    6
  4. 編譯libcef_dll_wrapper.lib

    1. 進入Engine\Source\ThirdParty\CEF3\cef_binary_90.6.7+g19ba721+chromium-90.0.4430.212_windows64\libcef_dll目錄,在頂部加上cmake_minimum_required(VERSION 3.2)
    2. 運行cmake -G "Visual Studio 16"。
    3. 可能出現(xiàn)錯誤:CMake Error at CMakeLists.txt:753 (SET_LIBRARY_TARGET_PROPERTIES):Unknown CMake command "SET_LIBRARY_TARGET_PROPERTIES"。此時需要注釋掉#SET_LIBRARY_TARGET_PROPERTIES。
    4. 出現(xiàn)Project.sln,用vs2019打開進行編譯。
      1. 如果出現(xiàn)錯誤Cannot open include file: 'libcef_dll/shutdown_checker.h': No such file or directory libcef_dll_wrapper。需要在工程libcef_dll_wrapper屬性->C/C++->General->Additional Include Directories:修改值為"$(SolutionDir).."。
      2. 如果出現(xiàn)錯誤C2589 '(': illegal token on right side of '::' libcef_dll_wrapper。點開發(fā)現(xiàn)是std::max,此時是因為工程中包含了windows.h或windef.h頭文件,再使用c++標(biāo)準(zhǔn)庫std::min或std::max,出現(xiàn)引用錯誤,要在工程配置中定義NOMINMAX宏,解決辦法如下:在工程libcef_dll_wrapper屬性-> C/C++ -> Preprocessor -> 在Preprocessor Definitions項中增加NOMINMAX。
    5. 將上面編譯好的Debug和Release版本的libcef_dll_wrapper.lib移動到Engine\Source\ThirdParty\CEF3\cef_binary_90.6.7+g19ba721+chromium-90.0.4430.212_windows64\VS2015\libcef_dll中的Debug和Release文件夾下。
  5. 編譯UnrealCEFSubProcess,編譯時會出現(xiàn)部分C++文件編譯不過,因為CEF接口類發(fā)生了變化,需要進行修改。

    1. error C3646: “OVERRIDE”: 未知重寫說明符。

      解決辦法是:在如下文件添加宏定義:

      • Engine\Source\Programs\UnrealCEFSubProcess\Private\UnrealCEFSubProcessRemoteMethodHandler.h
      • Engine\Source\Programs\UnrealCEFSubProcess\Private\UnrealCEFSubProcessApp.h
      #define OVERRIDE override
      #pragma push_macro("OVERRIDE")
      #undef OVERRIDE // cef headers provide their own OVERRIDE macro
      THIRD_PARTY_INCLUDES_START
      
      1
      2
      3
      4
    2. 'SendProcessMessage': is not a member of 'CefBrowser'。

      解決辦法是:SendProcessMessage從CefBrowser移動到CefFrame,需使用如下代碼:

      browser->GetMainFrame()->SendProcessMessage(PID_BROWSER, msg);

    3. OnProcessMessageReceived did not override any base class methods.

      解決辦法是:新版本第二個參數(shù)加上了 CefRefPtr<CefFrame> frame

    4. OnRenderThreadCreated was removed from cef。

      解決辦法是:remove OnRenderThreadCreated (opens new window),替換為OnBrowserCreated。

    5. 如果出現(xiàn)mismatch detected for 'RuntimeLibrary':value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in ...

      解決辦法是:回到編譯libcef_dll_wrapper.lib的這個工程中,在右鍵->屬性->C/C++->Code Generation->RuntimeLibrary設(shè)置為/MD。

  6. 編譯UE4源碼

    1. 需要勾選.Net Framework 4.6.2開發(fā)工具。
    2. 運行setup.bat下來依賴,生成.sln解決方案。可使用命令行.\Setup.bat -exclude=linux -exclude=IOS來排除某些不需要的模塊。
    3. 雙擊GenerateProjectFiles.bat生成sln解決方案。
    4. 打開sln解決方案,Solution Configuration選擇Development Editor,平臺選擇Win64,然后點build。
  7. 編譯UE4源碼遇到的錯誤:

    1. error C3646: “OVERRIDE”: 未知重寫說明符。 解決辦法是:在如下文件添加宏定義 #define OVERRIDE override:
      • Engine\Source\Runtime\WebBrowser\Private\CEF/CEFBrowserApp.h
      • Engine\Source\Runtime\WebBrowser\Private\CEF/CEFBrowserByteResource.h
      • Engine\Source\Runtime\WebBrowser\Private\CEF/CEFBrowserHandler.h
      • Engine\Source\Runtime\WebBrowser\Private\CEF\CEFBrowserClosureTask.h
      • Engine/Source/Runtime/WebBrowser/Private/CEF/CEFCookieManager.cpp
      • Engine/Source/Runtime/WebBrowser/Private/CEF/CEFSchemeHandler.cpp
      • Engine/Source/Runtime/WebBrowser/Private/CEF/CEFWebBrowserWindow.cpp

# 從UE5源碼升級(失敗)

上面進行到最后一步后,要更新UE4的源碼,實在是工作量有點大,這個時候UE5的源碼發(fā)布了,然后就在想能否把UE5的CEF這部分代碼放到UE4中。

  1. 編譯libcef_dll_wrapper.lib。
  2. 編譯UE4源碼。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CEF:MFC 對話框 Demo(VS2013)
嵌入Chrome cef到MFC CView
CEF一些基本知識
java注解
inno setup教程
Windows 的 MSVCRT.DLL 不能用作運行時間庫文件
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服