error C2872: “CPoint”: 不明确的符号

来源:互联网 发布:网络维护费用清单 编辑:程序博客网 时间:2024/06/05 11:08
在duilib中使用CImage类时,其包含了#include <atltypes.h>文件,文件中使用了CPoint,CSize等类

由于duilib本身也有自己的CPoint,CSize等类,这会导致 error C2872: “CPoint”: 不明确的符号 等问题


vs编译器编译时会报如下错误:

1>c:\program files (x86)\microsoft visual studio 14.0\vc\atlmfc\include\atltypes.h(520): error C2872: “CPoint”: 不明确的符号
1>  c:\program files (x86)\microsoft visual studio 14.0\vc\atlmfc\include\atltypes.h(74): note: 可能是“CPoint”
1>  d:\roommanage4.0\roommanagement\duilib\utils\utils.h(24): note: 或  “DuiLib::CPoint”
1>c:\program files (x86)\microsoft visual studio 14.0\vc\atlmfc\include\atltypes.h(584): error C2872: “CSize”: 不明确的符号
1>  c:\program files (x86)\microsoft visual studio 14.0\vc\atlmfc\include\atltypes.h(31): note: 可能是“CSize”
1>  d:\roommanage4.0\roommanagement\duilib\utils\utils.h(37): note: 或  “DuiLib::CSize”



这时你在引用包含CImage类的头文件 的文件中将CImage类的头文件的顺序放到最前面去,这样问题就解决了


#include "XUIImageEx.h"        //引用包含CImage类的头文件,放在所有头文件最前面
#include "duilib.h"
#include "ListUIEx.h"


注:所有关于添加头文件而导致的 某某类不明确的符号  都可以通过改变包含引用顺序试试能否解决该问题

原创粉丝点击