1. 程式人生 > >CEF在window10 系統下報錯

CEF在window10 系統下報錯

        最近在window10系統上編譯CEF專案報錯如下,其中view_process.exe為封裝了CEF的程序。另外這個錯誤只在debug模式下可以在Output視窗看到,release下無法正確載入url。

The thread 0x3e70 has exited with code 0 (0x0).
[1114/100503.952:FATAL:dwrite_font_proxy_init_impl_win.cc(88)] Check failed: fallback_available == base::win::GetVersion() > base::win::VERSION_WIN8 (1 vs. 0)
view_process.exe has triggered a breakpoint.

        這是一個系統相容性錯誤,具體原因可見:https://docs.microsoft.com/zh-cn/windows/desktop/SysInfo/targeting-your-application-at-windows-8-1,解決方式是在cef的例子下面(cef_binary_3.3497.1841.g7f37a0a_windows32\tests\cefsimple)有cefsimple.exe.manifest和compatibility.manifest兩個檔案,把這兩個檔案拷貝到你自己的工程目錄下面,並且將第一個檔案的名稱修改成你自己的可執行程式的名稱。附上這兩個檔案的原路徑和我自己修改後的路徑。

        然後專案屬性-》生成事件-》後期生成事件-》命令列,加上如下命令:

setlocal
mt.exe -nologo -manifest "compatibility.manifest" "view_process.exe.manifest" -outputresource:"../Debug/view_process.exe";#1
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone

if %errorlevel% neq 0 goto :VCEnd

        編譯即可在win8、win10上正常執行。