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