Android ndk 使用NDK r10e使用asset_manager构建静态库 我正在构建一个静态库,它使用C++中的“代码> AASETMeMeLTu/Cuff>(包含< /COD>),然后使用java中的库。
问题是我不能包含Android ndk 使用NDK r10e使用asset_manager构建静态库 我正在构建一个静态库,它使用C++中的“代码> AASETMeMeLTu/Cuff>(包含< /COD>),然后使用java中的库。,android-ndk,android-assets,Android Ndk,Android Assets,问题是我不能包含libandroid,因为在构建静态库时我不能使用LOCAL\u LDLIBS+=-landroid(LOCAL\u LDLIBS对于静态库总是被忽略) 那么,如何在不使用local\u ldlibs的情况下构建我的静态库呢 构建静态库时,您不需要满足外部引用,但如果有人使用您的库,他们必须链接libandroid.so。您可以将其放入库的文档中 如果提供了一个Android.mk,则可以设置LOCAL\u EXPORT\u LDLIBS=-landroid。顺便说一句,您还可以
libandroid
,因为在构建静态库时我不能使用LOCAL\u LDLIBS+=-landroid
(LOCAL\u LDLIBS
对于静态库总是被忽略)
那么,如何在不使用
local\u ldlibs
的情况下构建我的静态库呢 构建静态库时,您不需要满足外部引用,但如果有人使用您的库,他们必须链接libandroid.so
。您可以将其放入库的文档中
如果提供了一个Android.mk,则可以设置LOCAL\u EXPORT\u LDLIBS=-landroid
。顺便说一句,您还可以将LOCAL\u EXPORT\u INCLUDES
设置为库的带有公共标题的目录
无论如何,NDK 10已经过时了。我强烈建议转到当前版本(除非您迫切需要对android-3的支持)。我肯定在r13/r14中添加了
LOCAL\u EXPORT\u LDLIBS
。所以,是的,更新你的NDK。我的问题是我没有指定APP_平台,所以默认设置为android-3(可能是因为我使用的是NDK 10)。将应用程序平台设置为android-9后,问题消失了。@DanAlbert:EXPORT\u LDLIBS
出现在r10e中。我没有检查完整的历史记录。我一定是在想EXPORT\u LDFLAGS
什么的。