cocos2d-x cygwin 안드로이드 빌드시 At global scope error: extra qualification
cocos2d-x 에서 윈도우 환경에서 잘 개발 후 안드로이드 빌드 시 아래와 같은 에러가 발생할 수 있습니다.
jni/../../Classes/Factory/DataTableFactory.h: At global scope:
jni/../../Classes/Factory/DataTableFactory.h:11:2: error: extra qualification 'DataTableFactory::' on member 'DataTableFactory' [-fpermissive]
jni/../../Classes/Factory/DataTableFactory.h:11:2: error: extra qualification 'DataTableFactory::' on member 'DataTableFactory' [-fpermissive]
이렇게 되어 있던 것을
이렇게 수정했습니다. 이 define을 사용하면 h파일에 하게 되는 것인데 어찌보면 당연한 것인데 visual studio 2010에서는 아무 문제없이 컴파일이 되던것이 cygwin의 gcc에서는 에러를 뿜어내는군요.
표준문제 인듯보이는데 굳이 cocos2d-x가 아니더라고 리눅스기반 gcc 컴파일할 때 조심해야할 듯 하네여.
jni/../../Classes/Factory/DataTableFactory.h: At global scope:
jni/../../Classes/Factory/DataTableFactory.h:11:2: error: extra qualification 'DataTableFactory::' on member 'DataTableFactory' [-fpermissive]
jni/../../Classes/Factory/DataTableFactory.h:11:2: error: extra qualification 'DataTableFactory::' on member 'DataTableFactory' [-fpermissive]
class DataTableFactory : public Factory { FACTORY_CREATE_FUNC( DataTableFactory );
FACTORY_CREATE_FUNC 라는 define을 쓰는 놈이 있는데요,
#define FACTORY_CREATE_FUNC( type ) \ public: \ type::type(){} \ type::~type(){} \
이렇게 되어 있던 것을
#define FACTORY_CREATE_FUNC( type ) \ public: \ type(){} \ ~type(){} \
이렇게 수정했습니다. 이 define을 사용하면 h파일에 하게 되는 것인데 어찌보면 당연한 것인데 visual studio 2010에서는 아무 문제없이 컴파일이 되던것이 cygwin의 gcc에서는 에러를 뿜어내는군요.
표준문제 인듯보이는데 굳이 cocos2d-x가 아니더라고 리눅스기반 gcc 컴파일할 때 조심해야할 듯 하네여.
댓글
댓글 쓰기