QT 内嵌CEF(3)

时间:2024-04-08 21:07:12

可以玩点高级的用

QcefView

从github下载一份源码,打开.sln,设置编译器为vs2013,然后把cef相关文件复制到QCefView-master\dep\cef下,具体见它的说明。

QcefView版本当前最新,最新提交是Commits on May 19, 2018;

cef版本用的最新的,见第一篇文章,不要听网上传说用什么cef2526, 我测试后,头文件引用都对不上,很多类没定义。

然后编译QcefView,生成QcefView.dll

然后生成QcefViewTest.exe,生成成功。

运行的时候报错退出,是QcefSettings的路径不对,或者资源文件没有。

重新把需要的文件放到对应目录就好了,具体可以debug QCefSettings的值。

我这copy的有:

resources目录 : 

                           *.apk

                          locales目录:

                                           * .pak

 

chrome_elf.dll

icudtl.dat

libcef.dll

natives_blob.bin

qtcefwing.exe

v8_context_snapshot.bin

 

然后,再debug,效果如下:

 QT 内嵌CEF(3)

 

 

其他问题:

release版本启动崩溃,然后我把chrome源码拉下来,定位到 service_manager_context.cc源文件:

    base::Optional<catalog::RequiredFileMap> required_files =
        catalog::RetrieveRequiredFiles(*manifest_value);

manifest_value为空,出了空指针异常,其实问题不大,还是资源目录不对,找不到源文件导致。