【发布时间】:2018-01-29 09:58:21
【问题描述】:
Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := avcodec
LOCAL_SRC_FILES := libavcodec.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := avdevice
LOCAL_SRC_FILES := libavdevice.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := avfilter
LOCAL_SRC_FILES := libavfilter.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := avformat
LOCAL_SRC_FILES := libavformat.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := avutil
LOCAL_SRC_FILES := libavutil.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := swresample
LOCAL_SRC_FILES := libswresample.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := swscale
LOCAL_SRC_FILES := libswscale.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := ffmpeg_main
LOCAL_SRC_FILES := com_piyingke_app_common_ffmpeg_FFmpegUtil.c \
com_piyingke_app_common_ffmpeg_FFmpegUtil.h
LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
LOCAL_LDLIBS := -llog -lz
LOCAL_SHARED_LIBRARIES := avcodec avdevice avfilter avformat avutil swresample swscale
include $(BUILD_SHARED_LIBRARY)
我得到一个错误:
./obj/local/arm64-v8a/libavcodec.so:添加符号时出错:文件格式错误
clang++:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
make: *** [obj/local/arm64-v8a/libffmpeg_main.so] 错误1
我该怎么办?谁能帮帮我。
【问题讨论】:
-
您是如何构建共享库的,例如 libavcodec.so ?您为哪种 CPU 架构编译了它们?我突然想到你没有正确的so文件。