[binding-generator] Compile error in jsb_cocos2dx_auto.cpp


#1

Hi there,
I used genbindings-win32 + LLVM3.1 + cocos2d-x-2.1.5 + ndk-r8e + cxx-generator to produce jsb_cocos2dx_auto.cpp but I a bunch of error

if (argc == 0) {
cocos2d::CCAffineTransform ret = cobj->nodeToWorldTransform();
jsval jsret;
do {
if (ret) {
js_proxy_t *proxy = js_get_or_create_proxycocos2d::CCAffineTransform(cx, ret);
jsret = OBJECT_TO_JSVAL(proxy->obj);
} else {
jsret = JSVAL_NULL;
}
} while (0);
JS_SET_RVAL(cx, vp, jsret);
return JS_TRUE;
}

error C2451: conditional expression of type ‘cocos2d::CCAffineTransform’ is illegal

I noticed the difference the released version of cocos2d-x jsb_cocos2dx_auto.cpp, the value type CCAffineTransform is marshaled correctly there. But I couldn’t figure out what’s causing the problem. I compared the source code between CCPoint and CCAffineTransform and they are both value type and can’t seem to find anything different between them. But CCPoint can be correctly handled by the generator.

Appreciate any helps.


#2

OK I figured out the solution. Turns out I had to modify the conversion.yaml file inside cxx-generator instead of the one in the coco2d-x repository.