久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    UE4問題升級(jí)WebBrowser內(nèi)核

     看見就非常 2022-01-19

    從UE4_26升級(jí)(失敗)

    1. 下載Chromium Embedded Framework (CEF)二進(jìn)制包,將庫復(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)試則要將對(duì)應(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. 進(jìn)入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. 運(yùn)行cmake -G "Visual Studio 16"。
      3. 可能出現(xiàn)錯(cuò)誤:CMake Error at CMakeLists.txt:753 (SET_LIBRARY_TARGET_PROPERTIES):Unknown CMake command "SET_LIBRARY_TARGET_PROPERTIES"。此時(shí)需要注釋掉#SET_LIBRARY_TARGET_PROPERTIES。
      4. 出現(xiàn)Project.sln,用vs2019打開進(jìn)行編譯。
        1. 如果出現(xiàn)錯(cuò)誤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)錯(cuò)誤C2589 '(': illegal token on right side of '::' libcef_dll_wrapper。點(diǎn)開發(fā)現(xiàn)是std::max,此時(shí)是因?yàn)楣こ讨邪藈indows.h或windef.h頭文件,再使用c++標(biāo)準(zhǔn)庫std::min或std::max,出現(xiàn)引用錯(cuò)誤,要在工程配置中定義NOMINMAX宏,解決辦法如下:在工程libcef_dll_wrapper屬性-> C/C++ -> Preprocessor -> 在Preprocessor Definitions項(xiàng)中增加NOMINMAX。
      5. 將上面編譯好的Debug和Release版本的libcef_dll_wrapper.lib移動(dòng)到Engine\Source\ThirdParty\CEF3\cef_binary_90.6.7+g19ba721+chromium-90.0.4430.212_windows64\VS2015\libcef_dll中的Debug和Release文件夾下。
    5. 編譯UnrealCEFSubProcess,編譯時(shí)會(huì)出現(xiàn)部分C++文件編譯不過,因?yàn)镃EF接口類發(fā)生了變化,需要進(jìn)行修改。

      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移動(dòng)到CefFrame,需使用如下代碼:

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

      3. OnProcessMessageReceived did not override any base class methods.

        解決辦法是:新版本第二個(gè)參數(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的這個(gè)工程中,在右鍵->屬性->C/C++->Code Generation->RuntimeLibrary設(shè)置為/MD。

    6. 編譯UE4源碼

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

      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源碼升級(jí)(失敗)

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

    1. 編譯libcef_dll_wrapper.lib。
    2. 編譯UE4源碼。

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 国产精品午夜福利精品| 久热综合在线亚洲精品| 精品少妇av蜜臀av| 国产成人高清在线观看视频| 国产V片在线播放免费无码| 在线国产精品中文字幕| 国精品午夜福利视频不卡| 亚洲av无码乱码在线观看野外| 午夜福利片1000无码免费| 国模精品一区二区三区| 欧美巨大极度另类| 性做久久久久久久| 韩国无码AV片午夜福利| 精品一区二区三区无码视频| 丁香婷婷色综合激情五月| 亚洲国产精品久久久久婷婷老年| 巨胸美乳无码人妻视频漫画| 亚欧乱色熟女一区二区三区| 欧美视频专区一二在线观看| 国产成人精品999在线观看| 高清无码一区二区在线观看| 欧美人与动人物牲交免费观看久久| 777米奇色狠狠俺去啦| 国产色无码专区在线观看| 亚洲午夜理论无码电影| 亚洲精品一区二区天堂| 好深好爽办公室做视频| 最新国产麻豆AⅤ精品无码| 国内精品免费久久久久电影院97| 亚洲精品无码中文久久字幕| 青青草无码免费一二三区| 五月丁香啪啪| 色欲色香天天天综合网WWW| 国产在线不卡精品网站| 日韩有码av中文字幕| 久久精品人人做人人爽电影蜜月| 久久综合亚洲鲁鲁九月天| 精品人妻中文字幕在线| 欧美日韩中文国产一区发布| 不卡高清AV手机在线观看| 欧美不卡无线在线一二三区观|