【发布时间】:2014-01-06 14:53:38
【问题描述】:
我有问题,
下面是Android.mk
LOCAL_PATH := $(call my-dir)
INITIAL_PATH := $(LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := ffmpegbuilt
LOCAL_SRC_FILES := libffmpeg.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/
include $(PREBUILT_SHARED_LIBRARY)
LOCAL_PATH := $(INITIAL_PATH)
LOCAL_MODULE := main_module
LOCAL_ARM_MODE := arm # remove this if you want thumb mode
LOCAL_SRC_FILES := main.c
LOCAL_LDLIBS := -llog
LOCAL_SHARED_LIBRARIES := ffmpegbuilt
include $(BUILD_SHARED_LIBRARY)
它按预期创建了两个 shared_libraries。我在libs/armeabi 文件夹中看到了这两个库
当我运行应用程序时,出现 Unsatisfied Linker 错误
01-06 20:21:38.281: E/AndroidRuntime(435): FATAL EXCEPTION: main
01-06 20:21:38.281: E/AndroidRuntime(435): java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1962]: 32 could not load needed library 'libffmpeg.so' for 'libmain_module.so' (load_library[1104]: Library 'libffmpeg.so' not found)
01-06 20:21:38.281: E/AndroidRuntime(435): at java.lang.Runtime.loadLibrary(Runtime.java:434)
01-06 20:21:38.281: E/AndroidRuntime(435): at java.lang.System.loadLibrary(System.java:554)
可能是什么问题,虽然我定义了LOCAL_MODULE := ffmpegbuilt,为什么预建库的模块名称没有改变?
【问题讨论】:
标签: android android-ndk ffmpeg