libcef_dll_wrapper /MD /MDd的编译

sln中的几十个项目全都使用/MD /MDd编译,libcef_dll_wrapper默认使用的/MT /MTd编译。

因此需要使用/MD /MDd对libcef_dll_wrapper进行编译。否则将会出现如下链接错误:

1>正在链接...1>msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: __thiscall std::basic_string_traits,class std::allocator >::~basic_string<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) 已经在 libcef_dll_wrapper.lib(libcef_dll_wrapper.obj) 中定义1>msvcprt.lib(MSVCP90.dll) : error LNK2005: "protected: char const * __thiscall std::basic_string_traits,class std::allocator >::_Myptr(void)const " (?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IBEPBDXZ) 已经在 libcef_dll_wrapper.lib(libcef_dll_wrapper.obj) 中定义1>msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: char const * __thiscall std::basic_string_traits,class std::allocator >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) 已经在 libcef_dll_wrapper.lib(libcef_dll_wrapper.obj) 中定义

使用/MD /MDd对libcef_dll_wrapper进行编译会遇到如下错误:

1>cef_xml_object.cc1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\typeinfo(139) : error C2220: 警告被视为错误 - 没有生成“object”文件1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\typeinfo(139) : warning C4275: 非 dll 接口 class“stdext::exception”用作 dll 接口 class“std::bad_cast”的基1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(241) : 参见“stdext::exception”的声明1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\typeinfo(138) : 参见“std::bad_cast”的声明1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\typeinfo(160) : warning C4275: 非 dll 接口 class“stdext::exception”用作 dll 接口 class“std::bad_typeid”的基1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(241) : 参见“stdext::exception”的声明1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\typeinfo(159) : 参见“std::bad_typeid”的声明1>cef_stream_resource_handler.cc1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\typeinfo(139) : error C2220: 警告被视为错误 - 没有生成“object”文件1>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\typeinfo(139) : warning C4275: 非 dll 接口 class“stdext::exception”用作 dll 接口 class“std::bad_cast”的基1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\exception(241) : 参见“stdext::exception”的声明1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\typeinfo(138) : 参见“std::bad_cast”的声明

解决方法:禁用4275警告

你可能感兴趣的:(libcef3)