首页
论坛
课程
招聘
[求助]Cannot load library: link_image 已经引用第三库,但是不能加载
2014-4-7 21:07 9306

[求助]Cannot load library: link_image 已经引用第三库,但是不能加载

2014-4-7 21:07
9306
错误提示:
MS:Error: Cannot load library: link_image[1936]:  2332 could not load needed library './obj/local/armeabi/libxxx.so' for 'libtest.cy.so' (load_library[1091]: Library './obj/local/armeabi/libxxx.so' not found)

我已经在ndk代码中引入libxxx.so',并且已经成功自动添加工程libs/armeabi
引入so的mk文件内容如下:
           LOCAL_PATH := $(call my-dir)
        include $(CLEAR_VARS)
        LOCAL_MODULE := libxxx
        LOCAL_SRC_FILES :=libxxx.so                                       
        include $(PREBUILT_SHARED_LIBRARY)

JNI根目录mk文件如下:
TOP_LOCAL_PATH :=$(call my-dir)
include $(call all-subdir-makefiles)

LOCAL_PATH := $(TOP_LOCAL_PATH)

include $(CLEAR_VARS)
LOCAL_MODULE:= test.cy
LOCAL_SHARED_LIBRARIES := \
libxxx \
LOCAL_SRC_FILES := main.cpp
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)

在main.cpp中调用该函数,编译生成程序运行后 提示如上错误
奇怪 按照道理说他应该去加载\lib\armeabi  该目录下的so
他怎么去加载这个目录下的so文件?./obj/local/armeabi/libxxx.so'

[注意] 欢迎加入看雪团队!base上海,招聘安全工程师、逆向工程师多个坑位等你投递!

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 111
活跃值: 活跃值 (78)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
netsniffer 活跃值 2014-4-8 10:39
2
0
有点像是debug版本,
直接用ndk-build编译试试
雪    币: 8
活跃值: 活跃值 (19)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
zpsemo 活跃值 2014-4-9 06:31
3
0
ndk-build倒是能通过编译 只是跑起来 就提示以上错误
雪    币: 8
活跃值: 活跃值 (19)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
zpsemo 活跃值 2014-4-9 06:33
4
0
引入so的mk文件内容如下:
           LOCAL_PATH := $(call my-dir)
  include $(CLEAR_VARS)
  LOCAL_MODULE := libxxx
  LOCAL_SRC_FILES :=libxxx.so         
  include $(PREBUILT_SHARED_LIBRARY)
如果把 LOCAL_MODULE := libxxx 改为LOCAL_MODULE := xxx 就可以正常跑起来 我去但是主函数执行不来 正是多磨难啊
雪    币: 6
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hyrathon 活跃值 2014-4-14 11:16
5
0
遇到了楼主一样的问题,主要是想引用一下非ndk编译的so库,但是jni中间库无法找到这个库的位置。貌似找库的时候直接寻找/system/lib由于要用的库不在那里所以报错。楼主要是有解决办法了告知一下吧。
雪    币: 8
活跃值: 活跃值 (19)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
zpsemo 活跃值 2014-4-15 13:29
6
0
之前的解决方法是
         LOCAL_PATH := $(call my-dir)
  include $(CLEAR_VARS)
  LOCAL_MODULE := libxxx
  LOCAL_SRC_FILES :=libxxx.so         
  include $(PREBUILT_SHARED_LIBRARY)


  LOCAL_MODULE := libxxx  //将lib去掉 留下xxx  虽然这样可以了 但是主函数不能执行 到现在都没有解决
游客
登录 | 注册 方可回帖
返回