2012-11-06 40 views
1

我想綁定類使用btVector3。綁定btVector3與構造函數工作正常。綁定功能,如:綁定函數返回btVector3與luabind

void SetPosition(const btVector3& position) 

工作正常,但結合這一點:

btVector3 GetPosition() 

給了我以下錯誤:

error C2719: 'unnamed-parameter': formal parameter with __declspec(align('16')) won't be aligned

我明白btVector3對齊,如何修復/解決方法這?

回答

0

不知道,如果它是完全相同的問題(如果它仍然與您有關,近兩個月),但我遇到了使用Luabind綁定Bullet btTransforms的麻煩。舉例來說,這就給你描述了同樣的錯誤:

void bindBtTransform(lua_State *L) { 
    luabind::module(L) 
    [ 
     luabind::class_<btTransform>("btTransform") 
      // constructors 
      .def(luabind::constructor<>()) 

      // methods 
      // INCORRECT ------------------------------------------------------- 
      .def("getOrigin", &btTransform::getOrigin) 
    ]; 

    return; 
} 

然而,當我給getOrigin()函數的完整簽名,它的工作:

void bindBtTransform(lua_State *L) { 
    luabind::module(L) 
    [ 
     luabind::class_<btTransform>("btTransform") 
      // constructors 
      .def(luabind::constructor<>()) 

      // methods 
      // CHANGE TO THIS------------------------------------------------- 
      .def("getOrigin", (const btVector3& (btTransform::*)() const)&btTransform::getOrigin) 
    ]; 

    return; 
} 

希望對你有用;當我做出改變時,我的問題就解決了。

我仍然收到錯誤,但只有當我爲btQuaternions定義乘法運算符時。我希望這是一個類似的修復。