Android应用程序中的Cocos2d-x扩展

Android应用程序中的Cocos2d-x扩展,android,eclipse,xcode,cocos2d-x,Android,Eclipse,Xcode,Cocos2d X,我在一个属于Cocos2d-x项目的Android应用程序中使用CCHttpRequest时遇到问题。具体地说,我在Eclipse中构建时会遇到一系列构建错误,而在Xcode中构建iOS应用时却没有 我在Eclipse中(但不是在Xcode中)收到的一个构建错误示例是: 此错误适用于以下行: CCHttpResponse *response = (CCHttpResponse *)data; Eclipse和Xcode项目都引用相同的.cpp文件。为了让Eclipse项目了解Cocos2d-x

我在一个属于Cocos2d-x项目的Android应用程序中使用
CCHttpRequest
时遇到问题。具体地说,我在Eclipse中构建时会遇到一系列构建错误,而在Xcode中构建iOS应用时却没有

我在Eclipse中(但不是在Xcode中)收到的一个构建错误示例是:

此错误适用于以下行:

CCHttpResponse *response = (CCHttpResponse *)data;
Eclipse和Xcode项目都引用相同的
.cpp
文件。为了让Eclipse项目了解Cocos2d-x扩展,我做了以下工作:

  • Open Project=>Properties=>C/C++General=>Paths and Symbols=>Source Location
  • 单击链接文件夹…
  • 选中“链接到文件系统中的文件夹”
  • 浏览到包含扩展(在Xcode项目中工作)的文件夹
  • 单击确定、应用和确定
  • 请注意,我的
    HelloWorldScene.cpp
    文件中还有一些其他令人惊讶的错误。例如:

    无法解析符号“vector”

    我猜问题与我如何在Eclipse中设置某些东西有关。因为我是Eclipse新手,所以我不确定该尝试什么。Xcode项目中的所有内容都可以正常构建和运行

    编辑#1:在对大多数Eclipse构建错误的代码进行注释后,我注意到了错误:

    `make: *** [obj/local/armeabi/libgame.so] Error 1`
    
    我不知道这意味着什么,但似乎这可能是一个比未解决的符号更基本的错误

    Android.mk

    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE := game_shared
    
    LOCAL_MODULE_FILENAME := libgame
    
    LOCAL_SRC_FILES := hellocpp/main.cpp \
                       ../../Classes/AppDelegate.cpp \
                       ../../Classes/HelloWorldScene.cpp \
                       ../../Classes/StringHelper.cpp
    
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes                   
    
    LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
    
    include $(BUILD_SHARED_LIBRARY)
    
    $(call import-module,CocosDenshion/android) \
    $(call import-module,cocos2dx) \
    $(call import-module,extensions)
    
    应用程序.mk

    APP_STL := gnustl_static
    APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1
    
    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE := cocos2dcpp_shared
    
    LOCAL_MODULE_FILENAME := libcocos2dcpp
    
    LOCAL_SRC_FILES := hellocpp/main.cpp \
                       ../../Classes/AppDelegate.cpp \
                       ../../Classes/FixPhotoScene.cpp \
                       ../../Classes/SplashScene.cpp \
                       ../../Classes/TableViewTest.cpp\
                       ../../Classes/ProcessImage.cpp \
                       ../../Classes/TestUI.cpp
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
    
    LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
    LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
    LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
    LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
    LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
    
    include $(BUILD_SHARED_LIBRARY)
    
    $(call import-module,cocos2dx)
    $(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
    $(call import-module,CocosDenshion/android)
    $(call import-module,extensions)
    $(call import-module,external/Box2D)
    $(call import-module,external/chipmunk)
    
    APP_STL := gnustl_static
    APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1
    

    我认为
    Android.mk
    Application.mk
    有一些问题,因为在我的应用程序中
    Android.mk
    加载了更多的文件,并且我的应用程序在Android和ios平台上都正常运行。你可以看到不同之处。。这可能对你有帮助。我也在使用
    cocos2dx

    Android.mk

    APP_STL := gnustl_static
    APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1
    
    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE := cocos2dcpp_shared
    
    LOCAL_MODULE_FILENAME := libcocos2dcpp
    
    LOCAL_SRC_FILES := hellocpp/main.cpp \
                       ../../Classes/AppDelegate.cpp \
                       ../../Classes/FixPhotoScene.cpp \
                       ../../Classes/SplashScene.cpp \
                       ../../Classes/TableViewTest.cpp\
                       ../../Classes/ProcessImage.cpp \
                       ../../Classes/TestUI.cpp
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
    
    LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
    LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
    LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
    LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
    LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
    
    include $(BUILD_SHARED_LIBRARY)
    
    $(call import-module,cocos2dx)
    $(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
    $(call import-module,CocosDenshion/android)
    $(call import-module,extensions)
    $(call import-module,external/Box2D)
    $(call import-module,external/chipmunk)
    
    APP_STL := gnustl_static
    APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1
    
    应用程序.mk

    APP_STL := gnustl_static
    APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1
    
    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE := cocos2dcpp_shared
    
    LOCAL_MODULE_FILENAME := libcocos2dcpp
    
    LOCAL_SRC_FILES := hellocpp/main.cpp \
                       ../../Classes/AppDelegate.cpp \
                       ../../Classes/FixPhotoScene.cpp \
                       ../../Classes/SplashScene.cpp \
                       ../../Classes/TableViewTest.cpp\
                       ../../Classes/ProcessImage.cpp \
                       ../../Classes/TestUI.cpp
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
    
    LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
    LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
    LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
    LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
    LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
    
    include $(BUILD_SHARED_LIBRARY)
    
    $(call import-module,cocos2dx)
    $(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
    $(call import-module,CocosDenshion/android)
    $(call import-module,extensions)
    $(call import-module,external/Box2D)
    $(call import-module,external/chipmunk)
    
    APP_STL := gnustl_static
    APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1
    

    您是否使用
    create\u project.py
    命令或手动创建了此项目?两者都没有。我使用了Cocos2d-x.ok附带的createandroid shell脚本。我认为cocos2d库没有加载它的类。您能否发布
    jni
    文件夹中的
    Android.mk
    Application.mk
    文件的文本。确定发布了Android.mk和Application.mk。将本地_模块和本地_模块_文件名更改为您认为有帮助的值。虽然我还添加了/Ur/Cup/C++ +4.2.1到GNU C++中,包含在Eclipse中。我还做了几次项目->索引->重建。我还关闭并重新打开了Eclipse。上述工作的一些组合:-)实际上,似乎有必要将本地模块和本地模块文件名更改回我的原始值。