如何在Android.mk中添加不在jni文件夹

时间:2016-02-19 02:33:11

标签: android c++ android-ndk java-native-interface cocos2d-x

我找不到关于AppDelegate的错误。
"错误类似于:* .o"

无需制定目标* .cpp的规则

我的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路径。在包资源管理器中,我的结构如下所示: screenshot of package explorer



在我的真实文件夹结构中,Classes文件夹不在proj.android中。它位于外面的文件夹中。

Folders for Classes and MobileApp课程和MobileApp的文件夹

----------------------------- -------------------------------------------------- -----------------
Inside MobileApp在MobileApp内部

----------------------------------- -------------------------------------------------- -----------
Inside proj.android where jni is located
在jni所在的proj.android里面

我不确定如何正确链接我的.ccp类文件。如何将它们添加为我的本地文件,以便我可以正确构建它?我很感激能得到的所有帮助。感谢。

1 个答案:

答案 0 :(得分:0)

从屏幕截图中看起来有点难以辨别,但看起来Classes和jni目录位于同一个父目录中。如果这是真的,你只需要一个'../'返回到父目录。基本上,我认为您希望将所有路径更改为“../Classes/”。看起来cocos2d的路径应该以相同的方式更改。

此外,您错过了模块的最后一行,其中包括$()。例如,如果要为C ++代码构建动态链接库,则应将此行添加到Android.mk的末尾:

include $(BUILD_SHARED_LIBRARY)

您可以看到一些示例Android.mks here以及相关的Android文档here