【问题标题】:Android.mk: Cannot find module with tag 'external/jansson' in import pathAndroid.mk:在导入路径中找不到标签为“external/jansson”的模块
【发布时间】:2015-06-01 14:06:37
【问题描述】:

我正在使用 Cocos2d-x 3.3 开发游戏,使用 Google Play Games(gpg-cpp-sdk for android)和 Soomla Store/Core。

在 proj.android 下执行 ./build_native 时出现此错误:

$ ./build_native.py
The Selected NDK toolchain version was 4.8 !
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 10 in ./AndroidManifest.xml
Android NDK: /Applications/Cocos/frameworks/cocos2d-x/extensions/soomla-cocos2dx-core/Android.mk: Cannot find module with tag 'external/jansson' in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:
Android NDK:
make: Entering directory `/Users/Jesus/<project_name>/proj.android'
/Applications/Cocos/frameworks/cocos2d-x/extensions/soomla-cocos2dx-core/Android.mk:33: *** Android NDK: Aborting.    .  Stop.
make: Leaving directory `/Users/Jesus/<project_name>/proj.android'
Traceback (most recent call last):
  File "./build_native.py", line 160, in <module>
    build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
  File "./build_native.py", line 147, in build
    do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode)
  File "./build_native.py", line 83, in do_build
    raise Exception("Build dynamic library for project [ " + app_android_root + " ] fails!")
Exception: Build dynamic library for project [ /Users/Jesus/<project_name>/proj.android ] fails!

我在 /Applications/Cocos/frameworks/cocos2d-x/extensions/soomla-cocos2dx-core/Android.mk 中的 Android.mk 是:

LOCAL_PATH := $(call my-dir)

# cocos2dx-soomla-common
include $(CLEAR_VARS)

LOCAL_MODULE := cocos2dx_soomla_common_static
LOCAL_MODULE_FILENAME := libcocos2dxsoomlacommon

CORE_SRC_LIST := $(wildcard $(LOCAL_PATH)/Soomla/*.cpp)
CORE_SRC_LIST += $(wildcard $(LOCAL_PATH)/Soomla/domain/*.cpp)
CORE_SRC_LIST += $(wildcard $(LOCAL_PATH)/Soomla/data/*.cpp)
CORE_SRC_LIST += $(wildcard $(LOCAL_PATH)/Soomla/rewards/*.cpp)

LOCAL_SRC_FILES := $(CORE_SRC_LIST:$(LOCAL_PATH)/%=%)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/Soomla
LOCAL_C_INCLUDES += $(LOCAL_PATH)/Soomla/data
LOCAL_C_INCLUDES += $(LOCAL_PATH)/Soomla/domain
LOCAL_C_INCLUDES += $(LOCAL_PATH)/Soomla/rewards

LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += jansson_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static


LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/Soomla
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/Soomla/data
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/Soomla/domain
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)/Soomla/rewards

include $(BUILD_STATIC_LIBRARY)

$(call import-module,external/jansson)

谁能帮帮我?

【问题讨论】:

标签: cocos2d-x


【解决方案1】:

在build_native.py中,找到函数中的ndk_module_path

def do_build(cocos_root, ndk_root, app_android_root, ndk_build_param,sdk_root,build_mode):

命令$(call import-module,external/jansson)运行时,“external/jasson”是ndk_module_path的相对路径,检查android.mk是否存在

【讨论】:

    【解决方案2】:
    Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
    

    在eclipse中设置NDK_MODULE_PATH,在properties->c/c++ build->Environment中添加cocos引擎和external

    【讨论】:

    • 您好,感谢您的回答。需要将变量 N​​DK_MODULE_PATH 设置为我的 ndk 路径,不是吗?需要在路径中添加“cocos 引擎和外部”吗?
    猜你喜欢
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多