CEF在window10 系統下報錯
阿新 • • 發佈:2018-12-21
最近在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上正常執行。