现在的位置: 首页 > 综合 > 正文

使用duilib出现“error C2872: ‘CRect’ : ambiguous symbol”等错误

2013年10月06日 ⁄ 综合 ⁄ 共 371字 ⁄ 字号 评论关闭

DUILIB与MFC的结合
会产生Crect等冲突。
解决方法:
1:在stdafx.h中添加

#if USE(DuiLib)

#define  CRect DuiLib::CRect

#define  CPoint DuiLib::CPoint

#define  CSize DuiLib::CSize

#else

#define CRect ::CRect

#define  CPoint ::CPoint

#define  CSize ::CSize

#endif

在用的地方定义DuiLib
2:将duilib中的crect工程中全部改名Cduirect等。全工程替换。不过一分钟的事。
3:不在MFC中使用 using namespace Duilib 在使用duilib时都加上Duilib::CRect。
4:在dui相关代码中使用Duilib::CRect,在MFC代码中使用::CRect.

抱歉!评论已关闭.