【发布时间】:2016-02-19 02:33:11
【问题描述】:
我收到关于找不到 AppDelegate 的错误。
“错误类似于:No rule to make target *.cpp required by *.o”
我的 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)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
我不知道怎么了。我猜这是因为我没有设置正确的类路径。在包资源管理器中,我的结构如下所示:
在我的真实文件夹结构中,Classes 文件夹不在 proj.android 中。它位于外面的文件夹中。
类和移动应用的文件夹
------------------ -------------------------------------------------- -------------
移动应用内
------------ -------------------------------------------------- ------------------------------------
在proj.android里面jni所在的地方
我不确定如何正确链接我的 .ccp 类文件。如何将它们添加为我的本地文件,以便正确构建它?我会很感激我能得到的所有帮助。谢谢。
【问题讨论】:
-
AppDelegate.o已经存在。在构建之前清理或删除proj.android/obj。 -
如果你使用
$(LOCAL_PATH)/../../Classes/AppDelegate.cpp会怎样? -
@Michael 我试过这个 ../../../Classes/AppDelegate.cpp 它有效。但问题是我必须一一输入我的课程。有没有更简单的方法?
-
$(wildcard ../../../Classes/*.cpp) -
wildcard无法处理../../../Classes/<sub dir>/*.cpp。在这种情况下,您可以使用@larskholte 提供的recursive wildcard。 Here 是 cocos2d-x 项目中使用的示例。
标签: android c++ android-ndk java-native-interface cocos2d-x