Hi,
So I made a project with cocos console tool, v3.2.
I have a class (ChooseDiscMenu
) that uses ui::ScrollView
which is failing on build:
**** Build of configuration Release for project IceSlide ****
python /Users/mikeg/Projects/IceSlide/proj.android/build_native.py -b release all
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 9 in ./AndroidManifest.xml
Android NDK: WARNING:jni/…/…/cocos2d/cocos/./Android.mk:cocos2dx_static: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:jni/…/…/cocos2d/cocos/platform/android/Android.mk:cocos2dxandroid_static: LOCAL_LDLIBS is always ignored for static libraries
make: Entering directory/Users/mikeg/Projects/IceSlide/proj.android' [armeabi] SharedLibrary : libcocos2dcpp.so jni/../../Classes/ChooseDiscMenu.cpp:88: error: undefined reference to 'cocos2d::ui::ScrollView::create()' jni/../../Classes/ChooseDiscMenu.cpp:91: error: undefined reference to 'cocos2d::ui::ScrollView::setBounceEnabled(bool)' jni/../../Classes/ChooseDiscMenu.cpp:94: error: undefined reference to 'cocos2d::ui::ScrollView::setInnerContainerSize(cocos2d::Size const&)' jni/../../Classes/ChooseDiscMenu.cpp:109: error: undefined reference to 'cocos2d::ui::ScrollView::getInnerContainerSize() const' clang++: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [obj/local/armeabi/libcocos2dcpp.so] Error 1 make: Leaving directory
/Users/mikeg/Projects/IceSlide/proj.android’
Traceback (most recent call last):
The Selected NDK toolchain version was 4.8 !
File “/Users/mikeg/Projects/IceSlide/proj.android/build_native.py”, line 159, in
build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
File “/Users/mikeg/Projects/IceSlide/proj.android/build_native.py”, line 146, in build
do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode)
File “/Users/mikeg/Projects/IceSlide/proj.android/build_native.py”, line 82, in do_build
raise Exception(“Build dynamic library for project [ " + app_android_root + " ] fails!”)
Exception: Build dynamic library for project [ /Users/mikeg/Projects/IceSlide/proj.android ] fails!
**** Build Finished ****
Here is what I have in Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d)
$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/cocos)
# $(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/cocos/ui)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp
…/…/Classes/AppDelegate.cpp
…/…/Classes/Stage.cpp
…/…/Classes/ObstacleSpawner.cpp
…/…/Classes/MainMenu.cpp
…/…/Classes/SplashScreen.cpp
…/…/Classes/BodyParser.cpp
…/…/Classes/ChooseDiscMenu.cpp
…/…/Classes/Magnet.cpp
…/…/Classes/Scoreboard.cpp
…/…/Classes/Settings.cpp
…/…/Classes/TouchableSprite.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/…/…/Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_ui_static
# LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
# LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static
# LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
# LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,.)
$(call import-module,audio/android)
# $(call import-module,Box2D)
# $(call import-module,editor-support/cocosbuilder)
# $(call import-module,editor-support/spine)
# $(call import-module,editor-support/cocostudio)
# $(call import-module,network)
# $(call import-module,extensions)
What am I missing here?
It’s probably something at the linkage stage, I guess.
Regards,
Mike.