firemail
标题: cef下载编译 [打印本页]
作者: Qter 时间: 2022-9-19 19:31
标题: cef下载编译
本帖最后由 Qter 于 2022-9-19 19:37 编辑
https://blog.csdn.net/weixin_40355471/article/details/120762849
CEF( Chromium Embedded Framework Chromium嵌入式框架)
编译环境:cmake-3.21.0-rc3+qt5.13.0+vs2017.
资源下载
cmake官网下载地址,选择Windows x64 ZIP版本:
https://cmake.org/download/
CEF是二次构建,下载源码包:
https://cef-builds.spotifycdn.com/index.html#windows32
我下载的是:cef_binary_85.3.12+g3e94ebf+chromium-85.0.4183.121_windows32.tar.bz2
https://bitbucket.org/chromiumembedded/cef/downloads/?tab=branches
CEF库libcef_dll_wrapper.lib的编译
资源下载后解压缩,使用cmake打开,选择源码路径和构建目录,点击configure选择vs2017,再点击generate生成vs工程文件。
在构建目录下生成了cef.sln文件,使用vs2017打开,构建libcef_dll_wrapper即可生成静态库libcef_dll_wrapper.lib,debug和release版本都可以构建。
(ps,libcef_dll_wrapper和cefsimple工程,属性-配置属性-C/C+±代码生成-运行库,debug模式下都选多线程调试(/MTd),release模式下都选择多线程(/MT))
cefsimple样例编译运行
构建生成libcef_dll_wrapper.lib后,编译cefsimple工程,在\build\tests\cefsimple\Debug\目录生成cefsimple.exe可执行文件,双击打开程序默认访问google网站(需要fq),打开源码中\cef_binary_85.3.12_windows32\tests\cefsimple\simple_app.cc文件,把默认访问网址修改为https://www.baidu.com,即可正常访问。
效果图
遇到的问题
1、C2440 “初始化”: 无法从“R (__cdecl *)(base::internal::BindStateBase *,conditional<_Test,const std::string&,const std::string&>::type)”转换为“PolymorphicInvoke” libcef_dll_wrapper
刚开始下载的CEF版本是:cef_binary_94.4.9+g09ee681+chromium-94.0.4606.71_windows32,使用这个版本编译libcef_dll_wrapper工程时会报这个错误,最后选择较稳定的版本(cef_binary_85.3.12+g3e94ebf+chromium-85.0.4183.121_windows32.tar.bz2),规避这个错误。
2、MSB3073命令“setlocal;c101008d Failed to write the updated manifest to the resource of file
编译cefsimple工程时,在debug模式下会报这两个错误,release模式不报错;
解决:项目-属性-配置属性-链接器-调试,把生成调试信息改为否,即可解决。
————————————————
版权声明:本文为CSDN博主「架相」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
作者: Qter 时间: 2022-9-19 19:31
https://www.likecs.com/show-203544182.html
[backcolor=transparent !important]一、下载cef
[backcolor=transparent !important]二、cmake编译
[backcolor=transparent !important] [backcolor=transparent !important]三、vs2017编译
[backcolor=transparent !important]1.打开build里面编译好的cef.sln项目
[backcolor=transparent !important]2.debug win32模式下出现以下问题
[backcolor=transparent !important]2-1.debug配置 生成事件-生成后事件 执行异常
[backcolor=transparent !important] Windows:32位调试版本无法使用cef_sandbox.lib添加清单[backcolor=transparent !important]如上,看起来这只是Debug版本的问题,您必须在链接器选项中关闭生成调试信息。分别对cefclient,cefsimple,ceftests三个项目关闭生成调试信息,release版本是没这个问题的。
[backcolor=transparent !important]2-2.ceftests项目未找到匹配令牌
[backcolor=transparent !important]替换"か"为"demo"
[backcolor=transparent !important]
[backcolor=transparent !important]2-3.警告被视为错误
[backcolor=transparent !important] [backcolor=transparent !important]配置-c/c++-常规-将警告视为错误改为否
作者: Qter 时间: 2022-9-24 17:41
本帖最后由 Qter 于 2022-9-24 17:49 编辑
---------------debug编译----------------
1. 替换"か"为"demo"
2. error C2220: 警告被视为错误 - 没有生成“object”文件
VS2017菜单 - 项目 - 属性 - 配置属性 - C/C++ - 常规 - 将警告视为错误 修改为 否,重新编译即可。
3. eneral error c101008d: Failed to write the updated manifest to the resource of file
删除生成后事件
-----release编译----
1. error C2220: 警告被视为错误 - 没有生成“object”文件
VS2017菜单 - 项目 - 属性 - 配置属性 - C/C++ - 常规 - 将警告视为错误 修改为 否,重新编译即可。
欢迎光临 firemail (http://firemail.wang:8088/) |
Powered by Discuz! X3 |