1.两个库中的类型名重定义
b2settings.h (Box2D): typedef unsigned int uint32;
jsotypes.h (Spidermonkey): typedef unsigned long uint32;
#define uint32 Box2D_uint32 #include "Box2D.h" #undef uint32 #define uint32 Spider_uint32 #include "Spidermonkey.h" #undef uint32
2.一个库中的类模板函数 与另一个库中的类构造函数重名
OCC Standard_Handle.hxx: #define Handle(Class) opencascade::handle
CGAL Handle.h: Handle() noexcept: PTR(static_cast
在报错的handle.h中
#undef Handle(Class)
Handle() noexcept
: PTR(static_cast(0)) {}
须在调用Handle(Class)中的第三方文件c.CPP中添加
#undef Handle(Class) #include#define Handle(Class) opencascade::handle #include



