转自 http://blog.csdn.net/wangshubo1989/article/details/50180413
现在就来讲讲如何在自己的win32程序中搭建libcef运行环境。
首先就是建一个空的win32项目,例如名字为TestLibCef。
1. cefsimple目录(注意是拷贝文件夹)拷贝到新工程下并包含在项目中(注意,是TestLibCef\TestLibCef文件夹下)
2. 并在TestLibCef\TestLibCef文件夹下,新建一个dll文件夹
源码把Debug目录下的文件全部拷贝到该文件夹下()
3. 把resource目录下的文件全部拷贝到该文件夹下(TestLibCef\TestLibCef\dll)
4.把include文件夹拷贝到该文件夹下(注意是拷贝文件夹)(TestLibCef\TestLibCef\dll)
5.把out\Debug\lib\libcef_dll_wrapper.lib文件拷贝到该文件夹下(TestLibCef\TestLibCef\dll)
(如果你要发布你的应用程序了,那么你就应该拷贝相应的release目录下的文件)
这个时候,你的dll文件夹是有这些文件:
6.在工程中添加一些头文件和源文件,如下图:
7.接下来就是修改工程的属性了,在解决方案下TestLibCef上右键,属性。
常规页,设置如下:
8. C/C++下的常规的“附加包含目录”添加如下:
9. C/C++下的预处理器进行修改,加入如下文件:
_DEBUG
V8_DEPRECATION_WARNINGS
BLINK_SCALE_FILTERS_AT_RECORD_TIME
_WIN32_WINNT=0x0602 WINVER=0x0602 WIN32 _WINDOWS NOMINMAX PSAPI_VERSION=1 _CRT_RAND_S CERT_CHAIN_PARA_HAS_EXTRA_FIELDS WIN32_LEAN_AND_MEAN _ATL_NO_OPENGL _HAS_EXCEPTIONS=0 _SECURE_ATL CHROMIUM_BUILD TOOLKIT_VIEWS=1 USE_AURA=1 USE_ASH=1 USE_DEFAULT_RENDER_THEME=1 USE_LIBJPEG_TURBO=1 USE_MOJO=1 ENABLE_ONE_CLICK_SIGNIN ENABLE_REMOTING=1 ENABLE_WEBRTC=1 ENABLE_PEPPER_CDMS ENABLE_CONFIGURATION_POLICY ENABLE_INPUT_SPEECH ENABLE_NOTIFICATIONS ENABLE_HIDPI=1 ENABLE_EGLIMAGE=1 __STD_C _CRT_SECURE_NO_DEPRECATE _SCL_SECURE_NO_DEPRECATE NTDDI_VERSION=0x06020000 _USING_V110_SDK71_ ENABLE_TASK_MANAGER=1 ENABLE_EXTENSIONS=1 ENABLE_PLUGIN_INSTALLATION=1 ENABLE_PLUGINS=1 ENABLE_SESSION_SERVICE=1 ENABLE_THEMES=1 ENABLE_AUTOFILL_DIALOG=1 ENABLE_BACKGROUND=1 ENABLE_AUTOMATION=1 ENABLE_GOOGLE_NOW=1 CLD_VERSION=2 ENABLE_FULL_PRINTING=1 ENABLE_PRINTING=1 ENABLE_SPELLCHECK=1 ENABLE_CAPTIVE_PORTAL_DETECTION=1 ENABLE_APP_LIST=1 ENABLE_SETTINGS_APP=1 ENABLE_MANAGED_USERS=1 ENABLE_MDNS=1 ENABLE_SERVICE_DISCOVERY=1 USING_CEF_SHARED __STDC_CONSTANT_MACROS __STDC_FORMAT_MACROS DYNAMIC_ANNOTATIONS_ENABLED=1 WTF_USE_DYNAMIC_ANNOTATIONS=1
10. C/C++下代码生成中,运行库改为“多线程调试MTD”
11. 链接器,常规,附加库目录为:
因为是VS2015,这个会与VS2013的配置有区别
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86 %(AdditionalLibraryDirectories)
12. 链接器,输入,内容如下:
wininet.lib dnsapi.lib version.lib msimg32.lib ws2_32.lib usp10.lib psapi.lib dbghelp.lib winmm.lib shlwapi.lib kernel32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib user32.lib uuid.lib odbc32.lib odbccp32.lib delayimp.lib credui.lib netapi32.lib comctl32.lib rpcrt4.lib opengl32.lib glu32.lib D:\test\TestLibCef\TestLibCef\dll\libcef_dll_wrapper.lib D:\test\TestLibCef\TestLibCef\dll\libcef.lib
13. 链接器,高级,如下图:
14. 编译生成项目,将dll文件夹中的所有内容拷贝到debug或release文件夹下。
最后完成。
==============================================================
不出意外,你的程序不会生成成功,会提示C2220错误,你可能Google或是百度,很多人告诉你把警告等级调低,这根本还是解决不了问题。而且良好的编程习惯都是把警告当做错误看待的。
其实可以这样解决问题:
关闭VS2015;
打开VS2015软件(不点击任何解决方案);
选择 文件 ->打开 ->项目, 找到之前建立的TestLibCef的sln文件。
成功!!
至于原因:
原来文件的代码页为英文,而我们使用的是中文系统。仅此而已。
================================================================
很少有人会用纯win32的应用程序,都是采用一些库。接下来将描述,如何在duilib中配置libcef的环境。
今天的文章一起学libcef–搭建自己的libcef运行环境(Win32程序,错误C2220解决方案)分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/56719.html