初識cocos2d-x ndk編譯相關

LOCAL_PATH := $(call my-dir)
獲取當前所在路徑,即Android.mk所在的文件夾

include $(CLEAR_VARS)
清空預定義的一些值

LOCAL_MODULE := hellocpp_shared
本模塊對外名字

LOCAL_MODULE_FILENAME := libhellocpp
本模塊生成的文件名

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
                   ../../Classes/HelloWorldScene.cpp
一些需要編譯的源文件

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
源文件對應的目錄,即裏面含有.h的文件夾,與LOCAL_SRC_FILES對應。

include $(BUILD_SHARED_LIBRARY)
本模塊類型,可執行、靜態庫、動態庫......

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
需要的外部模塊名稱

$(call import-module,cocos2dx)
需要的外部模塊所在的路徑,一看就是相對路徑,相對誰?
獨獨一個cocos2dx文件夾,系統是如何找到的?兩種方式:
一:
build_native.sh 中調用 ndk-build 時設置了NDK_MODULE_PATH,可能使用到的目錄,以下使用了3個目錄。分別冒號分隔的。
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* "NDK_MODULE_PATH=${PLUGIN_ROOT}/publish:${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
二:
在Adnroid.mk中定義外部路徑
$(call import-add-path, OUTPATH)
如:
$(call import-add-path,$(LOCAL_PATH)/platform/third_party/android/prebuilt)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章