如何将cef静态库(/MT)编译为动态库(/MD) | 您所在的位置:网站首页 › wrapperdll › 如何将cef静态库(/MT)编译为动态库(/MD) |
用过cef的童鞋应该知道,使用vs编译cef源码生成的是libcef_dll_wrapper.lib静态库,且运行库是多线程(/MT),无法在/MD(多线程DLL)的应用程序上使用。当然,如果你的应用程序支持使用静态库的话就可以无视本文了。我们项目应用就是/MD的,为了使用cef去改变程序配置是不现实的,所以只能想办法将cef编译为动态库! 我用的cef是cef_binary_3.2171.1972_windows32,源码csdn上有,我就不上传了,源码下载后的makefile方法其他文章有介绍,此处省略。
第一步,更改项目属性。 因为我们要用的是dll,所以将项目配置类型改为dll。修改路径:项目》属性》配置属性》常规》配置类型》动态库(.dll) 第二步,关闭警告错误。 原cef库将警告视为错误,所以只改了第一步中的内容还不行,需要关闭这个选项,路径:项目》属性》C/C++》常规》将警告视为错误》否 第三步,导入原始cef库。 项目》属性》配置属性》连接器》输入》附加依赖项》添加msvcrt.lib;libcef.lib; OK,上面三步做完,可以编译了,当然,最好设置一下项目输出路径,以后可以方便的拷贝lib和dll。编译成功后生成 libcef_dll_wrapper.dll和libcef_dll_wrapper.lib 第四步,提取导出库和头文件等。具体提取内容在demo中查看。 |
CopyRight 2018-2019 实验室设备网 版权所有 |