import-module的注意事项与NDK_MODULE_PATH的配置
生活随笔
收集整理的這篇文章主要介紹了
import-module的注意事项与NDK_MODULE_PATH的配置
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
http://www.cnblogs.com/liulipeng/p/3524345.html
轉(zhuǎn):http://blog.sina.com.cn/s/blog_4057ab62010197z8.html
具體的語(yǔ)句多參考其他正確的Android.mk import-module的功能 導(dǎo)入外部模塊的.mk文件 ,和 include基本一樣。 概念上的區(qū)別是include導(dǎo)入的是由我們自己寫的.mk。而import-module導(dǎo)入的是外部庫(kù)、外部模塊提供的.mk。 用法上:include的路徑是.mk文件的絕對(duì)路徑。 而import是設(shè)置的路徑指定到模塊的.mk所在目錄,是相對(duì)于NDK_MODULE_PATH中的路徑列表的相對(duì)路徑。 import-module的使用 $(call import-module,相對(duì)路徑) -----------------場(chǎng)景重現(xiàn)--------------------------- 比如我的當(dāng)前模塊要調(diào)用?cocosdenshion模塊。 1\找到模塊名字和路徑 找到cocosdenshion模塊的android.mk的位置。F:\cocos2d-x\CocosDenshion\android\android.mk 打開(kāi)看到: LOCAL_MODULE := cocosdenshion_shared ... include $(BUILD_STATIC_LIBRARY) 那么cocosdenshion模塊在我自己的android.mk中引用它是應(yīng)該叫它c(diǎn)ocosdenshion_shared。而且他是個(gè)靜態(tài)庫(kù)。 2\在Android.mk中引用模塊 就像普通代碼中引用頭文件一樣。 在android.mk的最后一行調(diào)用 $(call import-module,CocosDenshion/android) 來(lái)導(dǎo)入模塊。 注意:我的NDK_MODULE_PATH=/cygdrive/f/cocos2d-x 是已經(jīng)設(shè)置好了的。 如果引用的模塊里面也有import-module,他的相對(duì)路徑也要加到NDK_MODULE_PATH中。如果它沒(méi)被加進(jìn)去的話。 然后 LOCAL_WHOLE_STATIC_LIBRARIES += cocos_jpeg_static 聲明我這模塊要引用該靜態(tài)庫(kù)模塊。 ------------------------------------------------------- ? import-module的使用注意 1、設(shè)置路徑時(shí),注意與NDK_MODULE_PATH中的路徑相互配合。 1、導(dǎo)入模塊的.mk中如果也有import-module,則注意其相對(duì)路徑也要在NDK_MODULE_PATH中。 2、上面說(shuō)了import-module和include一樣。如果import-module和Include包含了同一個(gè).mk,會(huì)報(bào)重復(fù)包含的錯(cuò)誤。 NDK_MODULE_PATH的配置 ? NDK_MODULE_PATH的作用 NDK_MODULE_PATH是一個(gè)很重要的變量,當(dāng)android.mk中使用了$(call import-module,XXX)函數(shù)引入外部庫(kù)文件時(shí)會(huì)用到,用以指示該往哪里去找這個(gè)文件。 如果NDK_MODULE_PATH?沒(méi)有設(shè)置或者設(shè)置不正確。編譯時(shí)都是報(bào)錯(cuò)?Are you sure your NDK_MODULE_PATH variable is properly defined。 NDK_MODULE_PATH的設(shè)置與格式 NDK_MODULE_PATH?是一個(gè)環(huán)境變量,不是android.mk中設(shè)置的變量。 NDK_MODULE_PATH多個(gè)路徑用冒號(hào)分割。不是分號(hào)!且整個(gè)字符串中間不能有空格。格式不正確也會(huì)報(bào)錯(cuò)上面的錯(cuò)誤的。 ? ?設(shè)置NDK_MODULE_PATH的方法 1、在系統(tǒng)環(huán)境里手動(dòng)添加這個(gè)環(huán)境變量, 2、在build_native.sh中 運(yùn)行ndk-build之前使用export命令定義環(huán)境變量NDK_MODULE_PATH。 如:export NDK_MODULE_PATH=路徑1:路徑2:路徑3 3、直接將NDK_MODULE_PATH=路徑1:路徑2 加到?ndk-build命令的參數(shù)后面。ndk-build的參數(shù)最終會(huì)直接傳給make. 如:$NDK_ROOT_LOCAL/ndk-build -C $HELLOWORLD_ROOT?NDK_MODULE_PATH=路徑1:路徑2 (命令?make aaa=213?//在編譯makefile之前將aaa當(dāng)作環(huán)境變量設(shè)置為213.) 4、還可以在android.mk中設(shè)置NDK_MODULE_PATH 在import語(yǔ)句之前加入, $(call import-add-path,$(LOCAL_PATH)/platform/third_party/android/prebuilt) 將一個(gè)新的路徑加入NDK_MODULE_PATH變量。 NDK_MODULE_PATH的注意 感覺(jué)NDK_MODULE_PATH中路徑中有那些,自己一定要時(shí)刻清楚。路徑盡量設(shè)在模塊某個(gè)共同的根目錄下,不要舍得太亂,免得用起來(lái)亂。轉(zhuǎn)載于:https://www.cnblogs.com/helinzi/p/4451209.html
總結(jié)
以上是生活随笔為你收集整理的import-module的注意事项与NDK_MODULE_PATH的配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 短信备份(原)
- 下一篇: LSP(分层服务提供程序)