环境:VS2012
整理DuiLib编译错误及解决办法
参考:
http://code.google.com/p/duilib/issues/detail?id=90
错误1:'IDispatchEx' : redefinition 或者'ICanHandleException' : redefinition
修改Duilib/Utils/UIFlash.h Line 10
#import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids
修改为
#import "PROGID:ShockwaveFlash.ShockwaveFlash" \
raw_interfaces_only, /* Don't add raw_ to method names */ \
named_guids, /* Named guids and declspecs */ \
rename("IDispatchEx","IMyDispatchEx") /* fix conflicting with IDispatchEx ant dispex.h */ \
rename("ICanHandleException", "IMyICanHandleException") //VS2012/VS2013使用
错误2:
ResourceView.cpp(91): error C3861: 'CanAdjustLayout': identifier not found
按F4注释掉以下代码
if (CanAdjustLayout())
{
m_wndResourceView.SetWindowPos(NULL, 1, 1, cx - 2, cy - 2, SWP_NOACTIVATE | SWP_NOZORDER);
}