使用Cocos2d-x 3.0 beta2 的GUI extensions,如Button、Text控件,在ios中没问题的。但在Android中编译出现如下的错误。
SharedLibrary : libcocos2dcpp.so
./obj/local/armeabi/libextension.a(CCControl.o):CCControl.cpp:function vtable for cocos2d::extension::Control: error: undefined reference to ‘cocos2d::Node::setLocalZOrder(int)’
make: Leaving directory `/MyStudio/cocos2d-x/books/Cocos2dx_Game_Unleashed/Cocos2dxDemo/proj.android’
./obj/local/armeabi/libextension.a(CCControl.o):CCControl.cpp:function vtable for cocos2d::extension::Control: error: undefined reference to ‘cocos2d::Node::_setLocalZOrder(int)’
The Selected NDK toolchain version was 4.7 !
首先说明的是所有需要编译的cpp文件都加入了Android.mk
在Android.mk文件中还导入了如下的模块
(call import-module,2d)
(call import-module,audio/android)
(call import-module,extensions)
(call import-module,gui)
(call import-module,editor-support/cocosbuilder)
(call import-module,editor-support/cocostudio)
还有LOCAL_WHOLE_STATIC_LIBRARIES也添加了下面的内容
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_gui_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
LOCAL_C_INCLUDES 的路径是按照xcode中工程的header include写的,还是编译出错。
能不能给个在cocos2d-x 3.0下使用GUI library,正确配置Android.mk的文件内容呢,到底应该引用什么