android ndk编译 无法链接外部库,android-ndk – Android NDK – 链接外部库的问题(找不到它)...

我在cygwin下使用

Android NDK r6b(系统正确更新).我正在修改hello-jni示例以学习使用NDK.由于我有一个用C语言编写的库,我希望在hello-jni中使用(实际上,我创建了一个名为helloworld的prj,其中包含一个名为ndkfoo.cpp的.cpp文件),我在Eclipse中创建了一个新的Android项目(更新为Android),添加了一个jni目录,添加了一个Android.mk和Application.mk文件,编辑它们以编译.cpp.在编译结束时,我获得了一个.so文件.

现在,在helloworld Android.mk中,我需要进行一些编辑,以告诉链接器包含该库.假设库文件是libmylib.so,我有以下android.mk脚本:

LOCAL_PATH:= $(调用my-dir)

包括$(CLEAR_VARS)

LOCAL_MODULE:= ndkfoo

LOCAL_SRC_FILES:= ndkfoo.cpp

LOCAL_C_INCLUDES = $(LOCAL_PATH)/ mylib

LOCAL_LDLIBS = -L $(LOCAL_PATH)/../../ mylib / libs / armeabi / -lmylib

包含$(BUILD_SHARED_LIBRARY)

我的目录按以下方式组织:

d:/android/android-ndk-r6b => android ndk root

d:/android/workspace/helloworld => helloworld project

d:/android/workspace/mylib => mylib project library

(因此,libmylib.so的路径是:d:/ android / workspace / mylib / libs / armeabi).

不幸的是,这似乎不起作用.如果我从ndkfoo.cpp删除对mylib的每个引用,它甚至在我的手机上编译并运行.如果我不删除对mylib的引用,它会编译但不会链接:我得到以下结果:

d:/android/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windo

WS / bin中/../ LIB / GCC /臂-Linux的androideabi / 4.4.3 /../../../../臂-Linux的androideabi /

bin / ld.exe:找不到-lmylib

PS.

我忘了提到我在helloworld项目的jni目录下运行ndk-buld.

PSS的.

我在互联网上发现了很多类似的问题.我一直使用Visual C/C++ IDE,所以我对GCC,makefile等都很陌生……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值