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