Horde3d声称可用的C'样式'接口。但我无法包含头文件编译C源,因为这些错误的:结构中的枚举声明
..../../horde3d/SDK_1.0.0_Beta5/Horde3D/Bindings/C++/Horde3D.h:127: error: nested redefinition of ‘enum List’
由于这些声明:
....
struct H3DOptions
{
/* ... */
enum List
{
MaxLogLevel = 1,
MaxNumMessages,
TrilinearFiltering,
....
};
...
};
struct H3DStats
{
/* ... */
enum List
{
TriCount = 100,
BatchCount,
LightPassCount,
...
};
};
....
正在Horde3d真正发展在C++中,标识符List可以通过封闭结构来限定。这在C中似乎不可用。除了重写头之外,是否存在一些解决方法?
他们声称有“C绑定”,或只是一个“C风格的接口”? – 2012-02-25 12:37:04
重写头,不包括有问题的头或使用C++编译器似乎是你唯一的选择 – Flexo 2012-02-25 12:37:50
@awoodland:我同意,考虑到头也*使用*这些定义 - 和'::'是无效的C ... – Christoph 2012-02-25 12:51:15