我有一个用C++编写的Android项目,并且在链接阶段有问题。代码放在一些应该链接在一起的静态库中。Android:如何正确链接我自己的静态库?
我在网上发现了很多关于这个主题的问题和答案,其中大多数人建议将我的库放到Android.mk文件中的LOCAL_STATIC_LIBRARIES
。但是,如果我这样做,我发现LOCAL_STATIC_LIBRARIES
的内容被忽略:我的库没有链接,并且在这里添加任何虚拟文本都不会生成任何错误或警告消息。
我试着这样说:
LOCAL_STATIC_LIBRARIES := MyLib.a
或完整路径:
LOCAL_STATIC_LIBRARIES := $(LOCAL_PATH)/MyLib.a
没有一次成功。
如果我把我的静态库放到LOCAL_LDLIBS
那么它被链接了,但是我得到了一个关于使用非系统库的警告消息,并且可能构建将是错误的。
我Android.mk文件的内容是:
LOCAL_LDLIBS := $(LOCAL_PATH)/MyLib.a ...
,我得到这个消息:
Android NDK: WARNING:jni/Android.mk:myapp: non-system libraries in linker flags: jni/MyLib.a
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
我找不到如何使用LOCAL_STATIC_LIBRARIES
正确的方式,请帮帮我!
我的Android NDK-R9和Android的sdk_r22.2.1在OpenSuSE的x86和使用目标= Android的18
你好你解决你的问题,包括它?因为我也面临着同样的问题。如果你能帮助我 /// –