【问题标题】:ffmpeg build for android.error:./obj/local/arm64-v8a/libavcodec.so: error adding symbols: File in wrong formatffmpeg 为 android.error:./obj/local/arm64-v8a/libavcodec.so 构建:添加符号时出错:文件格式错误
【发布时间】: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文件。

标签: android ffmpeg


【解决方案1】:

您有 Application.mk 吗?

您应该只为预构建文件运行构建。

像这样:

APP_ABI:=armeabi-v7a

【讨论】:

    猜你喜欢
    • 2017-10-05
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 2018-04-16
    相关资源
    最近更新 更多