首页
社区
课程
招聘
[求助]Cannot load library: link_image 已经引用第三库,但是不能加载
发表于: 2014-4-7 21:07 11297

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

2014-4-7 21:07
11297
错误提示:
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'

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
有点像是debug版本,
直接用ndk-build编译试试
2014-4-8 10:39
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
ndk-build倒是能通过编译 只是跑起来 就提示以上错误
2014-4-9 06:31
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
引入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 就可以正常跑起来 我去但是主函数执行不来 正是多磨难啊
2014-4-9 06:33
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
遇到了楼主一样的问题,主要是想引用一下非ndk编译的so库,但是jni中间库无法找到这个库的位置。貌似找库的时候直接寻找/system/lib由于要用的库不在那里所以报错。楼主要是有解决办法了告知一下吧。
2014-4-14 11:16
0
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
6
之前的解决方法是
         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  虽然这样可以了 但是主函数不能执行 到现在都没有解决
2014-4-15 13:29
0
游客
登录 | 注册 方可回帖
返回
//