Chromium Embedded Framework中文文档 (如何链接不同的运行时)
简介
Visual Studio支持不同的运行时库,不同的库通过标记 /MD, /MT 和 /LD来区分,默认情况下,CEF使用/MT标记,Chromium也是如此,不过有时可能有些应用需要不同的运行时库。
详情
有两种将CEF link到你的应用程序的方式。
静态链接(不使用 CEF DLL)
如果你期望使用静态链接方式,那么所有的Chromium和CEF项目都必须使用相同的运行时标记,如果你的应用已使用/MT标记,那么可通过以下步骤静态编译CEF:
- 按项目页上的描述设置Chromium和CEF所需的环境,并编译之。
- 将你的应用链接到libcef_static.lib文件。
如果你的应用程序没有使用/MT标记,那么你就很不走运了,Chromium的一些重要部分不使用/MT是不能编译的。
动态链接 (使用CEF DLL)
如果你喜欢使用动态链接方式链接CEF,那过程就要快一些,CEF在下载页提供了编译发行版本,包括了所有你需要link的CEF内容,前提是你的应用使用/MT标记。否则,你需要用与你的应用相同的标记重新编译libcef_dll_wrapper项目,与静态链接不同的是,你不需要重新编译CEF或者Chromium。
- 从下载页下载CEF编译发行版本。
- 按项目页上的描述设置Chromium和CEF所需的环境,但不需要编译之。
- 在CEF目录下创建Debug\lib目录,并将压缩包中的lib\Debug\libcef.lib file拷过来,如果你的CEF目录是"c:\Chromium\src\cef" 那么lib文件应该在 "c:\Chromium\src\cef\Debug\lib\libcef.lib".
- 在Visual Studio中打开cef.sln,将libcef_dll_wrapper 的标记改成和你的应用一样。
- 右键点击libcef_dll_wrapper 项目,并选择"Project Only -> Build Only libcef_dll_wrapper" 选项.
如果在第4步中正确的设置了标记,那么上述步骤的结果应该是在Debug\lib目录中创建了libcef_dll_wrapper静态库,能成功link你的应用程序。将debug改成release重复上述步骤,创建一个release版本。
附加信息
Microsoft 运行时标记的更多信息,可在: http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx找到