0

CCHttpRequest在作为 Cocos2d-x 项目一部分的 Android 应用程序中使用时遇到问题。具体来说,我在 Eclipse 中构建时遇到了一堆构建错误,而在 Xcode 中构建 iOS 应用程序时却没有。

我在 Eclipse(但在 Xcode 中没有)收到的示例构建错误是:

`Type 'CCHttpResponse' could not be resolved`

此错误适用于以下行:

CCHttpResponse *response = (CCHttpResponse *)data;

Eclipse 和 Xcode 项目都引用相同的.cpp文件。为了让 Eclipse 项目了解 C​​ocos2d-x 扩展,我执行了以下操作:

  1. 打开项目 => 属性 => C/C++ 常规 => 路径和符号 => 源位置
  2. 点击Link Folder...
  3. 查看Link to folder in the file system
  4. 浏览到包含扩展的文件夹(在 Xcode 项目中工作)
  5. 单击确定、应用和确定

HelloWorldScene.cpp请注意,我的文件中还有一些其他令人惊讶的错误。例如:

Symbol 'vector' could not be resolved.

我猜这个问题与我在 Eclipse 中的设置方式有关。由于我是 Eclipse 新手,我不确定该尝试什么。一切都在 Xcode 项目中构建和运行良好。

编辑#1:在注释了大部分 Eclipse 构建错误的代码后,我注意到了错误:

`make: *** [obj/local/armeabi/libgame.so] Error 1`

我不知道这意味着什么,但似乎它可能是比未解决的符号更根本的错误。

安卓.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
4

1 回答 1

2

我认为Android.mk并且Application.mk有一些问题,因为在我的应用程序 Android.mk中加载了更多文件,并且我的应用程序在平台 android 和 ios 中都正常运行。您可以看到差异..它可能会对您有所帮助。我也在使用cocos2dx图书馆。

安卓.mk

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)

应用程序.mk

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1
于 2013-07-09T14:50:57.323 回答