第一篇,编译生成libcef_dll_wrapper

  因为工作原因需要在程序里面嵌入地图,在网上看了百度地图和高德地图都没有提供c++的接口,提供有web接口,那只好在程序里面嵌入web控件了,第一想到的是web browser控件,接着脑海里又想到IE的种种兼容性问题,决定放弃IE控件。网上搜索了一下发现cef框架用的比较多,比较稳定,好处就不多说了,重点记录下我的使用经历,如果我的理解有误,欢迎评论指正。
  先来看看cef的代码,我在https://bitbucket.org/chromiumembedded/cef这个地方看到有源代码,至于哪个地方是官方我也没有深究。
  

  

  在这我们可以看到新版本,编译需要工具和平台。然后就是一顿准备工作。
  我选择使用别人已经编译好的dll文件,懒得自己费劲,现在要做的就是下载一个已经编译好的版本。
  

  

  我建议下载标准发布版,当然也可以下载第二个,最下发布版。我下载的是cef_binary_3.3683.1920.g9f41a27_windows32.tar.bz2,下面记录我的编译过程,让人有点郁闷。下载完这个文件解压,然后进入libcef_dll这个文件夹,在这个文件夹里面有个CMakeLists.txt文件,这个文件具体功能不在这说,我要记录的是通过这个文件生成一个vs017解决方案.sln文件。首先下载cmake,我下载的版本是3.14,打开cmake,选择cmakelists.txt所在文件夹和要生成的sln文件位置,然后点击generate。
  

  结果呢,错误出现了。
  

  手术刀,修改cmakelists.tst,增加红色圈起来的内容,然后就OK了,vs2017解决方案就生成了,但是编译还是有问题的。
  

  生成的文件截图留个纪念吧。
  
  点击sln打开vs2017开始编译吧。
  
  一堆未找到头文件,打开项目,设置附加目录。
  
  设置后再编译,结果出现
  
  原因发现max定义的问题,
  

  那就增加红色的宏定义
  

  再编译,大功告成。
  

猜你喜欢

转载自www.cnblogs.com/gushandujian/p/10511912.html