CEF在window10 系统下报错

Posted on 2020-10-20 10:19  不断学习中渐渐不彷徨  阅读(1714)  评论(0编辑  收藏  举报

https://blog.csdn.net/JinhuCheng/article/details/84061659

 

最近在window10系统上编译CEF项目报错如下,其中view_process.exe为封装了CEF的进程。另外这个错误只在debug模式下可以在Output窗口看到,release下无法正确加载url。

  1.  
    The thread 0x3e70 has exited with code 0 (0x0).
  2.  
    [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)
  3.  
    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两个文件,把这两个文件拷贝到你自己的工程目录下面,并且将第一个文件的名称修改成你自己的可运行程序的名称。附上这两个文件的原路径和我自己修改后的路径。

        然后项目属性-》生成事件-》后期生成事件-》命令行,加上如下命令:

  1.  
    setlocal
  2.  
    mt.exe -nologo -manifest "compatibility.manifest" "view_process.exe.manifest" -outputresource:"../Debug/view_process.exe";#1
  3.  
    if %errorlevel% neq 0 goto :cmEnd
  4.  
    :cmEnd
  5.  
    endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
  6.  
    :cmErrorLevel
  7.  
    exit /b %1
  8.  
    :cmDone
  9.  
     
  10.  
    if %errorlevel% neq 0 goto :VCEnd


        编译即可在win8、win10上正常运行。