2016-02-19 36 views
0

我收到一條關於無法找到我的AppDelegate的錯誤消息。
「的錯誤是這樣的:沒有規則,使目標*的.cpp由*所需要的.o」如何在Android.mk中添加不在jni文件夾內的本地文件

我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 


我不知道什麼是錯誤。我猜這是因爲我沒有設置類的權利的路徑。在Package Explorer我的結構是這樣的: screenshot of package explorer



在我真正的文件夾結構,Classes文件夾是不是裏面proj.android。它位於外面的文件夾中。

Folders for Classes and MobileApp班級和MobileApp文件夾

-------------------------------------- -------------------------------------------------- --------
Inside MobileApp Inside MobileApp

----------------------------------- -------------------------------------------------- -----------
Inside proj.android where jni is located
內proj.android其中JNI位於

我真的不知道我該如何正確鏈接我.ccp類文件。我如何將它們添加爲本地文件,以便我可以正確構建它?我會很感激所有我能得到的幫助。謝謝。

+0

'AppDelegate.o'已經存在。在構建之前清理或刪除'proj.android/obj'。 – GaloisPlusPlus

+0

如果使用'$(LOCAL_PATH)/../../ Classes/AppDelegate.cpp'會怎麼樣? – Michael

+0

@Michael我試過這個../../../Classes/AppDelegate.cpp 它工作。但問題是我不得不一一輸入我的課程。有更容易的方法嗎? – cessmestreet

回答

0

從屏幕截圖中有點難以分辨,但它看起來像Classes和jni目錄在同一個父目錄中。如果這是真的,你只需要一個'../'返回到父目錄。基本上,我認爲你想要將所有類路徑改爲'../Classes/'。它看起來應該以相同的方式改變cocos2d的路徑。

此外,你錯過了一個模塊的最後一行,這將包括$()。例如,如果你想建立一個動態鏈接庫,C++代碼,你應該加入這一行Android.mk結束:

include $(BUILD_SHARED_LIBRARY) 

你可以看到一些例如Android.mks here,以及相關的Android文檔here

相關問題