【发布时间】:2014-12-02 12:59:18
【问题描述】:
使用本指南http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/,我成功地使用 Android NDK 10 编译了 ffmpeg-2.4.2,但现在我在 eclipse 项目中使用它时遇到了问题。
我得到的错误:
*** Android NDK: Aborting . Stop.
在 prebuilt-library.mk 中指向这一点:
ifndef prebuilt
$(call __ndk_info,ERROR:$(LOCAL_MAKEFILE):$(LOCAL_MODULE): LOCAL_SRC_FILES points to a missing file)
$(call __ndk_info,Check that $(prebuilt_path) exists, or that its path is correct)
$(call __ndk_error,Aborting) <----- ***** This line is specifically pointed out by the error log
endif
这是我的 ...jni/Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := VideoTest
LOCAL_SRC_FILES := videotest.c
LOCAL_LDLIBS := -llog -ljnigraphics -lz -landroid
LOCAL_SHARED_LIBRARIES := libavformat libavcodec libswscale libavutil
include $(BUILD_SHARED_LIBRARY)
$(call import-module,ffmpeg-2.4.2/android/arm)
这是我的 android-ndk/sources/ffmpeg-2.4.2/android/arm/Android.mk:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavcodec
LOCAL_SRC_FILES:= lib/libavcodec-55.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavformat
LOCAL_SRC_FILES:= lib/libavformat-55.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libswscale
LOCAL_SRC_FILES:= lib/libswscale-2.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavutil
LOCAL_SRC_FILES:= lib/libavutil-52.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libavfilter
LOCAL_SRC_FILES:= lib/libavfilter-3.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= libwsresample
LOCAL_SRC_FILES:= lib/libswresample-0.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
这是我的项目结构:
所以在我看来,该项目没有建立,因为 LOCAL_SRC_FILES 没有指向任何东西,但它是指 jni/Android.mk 中的 LOCAL_SRC_FILES 还是 ...ffmpeg-2.4.2/ 中的那个安卓/手臂/Android.mk?无论哪种方式,似乎他们实际上都在指向某些东西。我也试过查看这个解决方案Android NDK: Aborting stop?,但我很难理解它。哪个 Android.mk 文件需要更改?
【问题讨论】:
-
嗨,你能解决你的问题吗?我也遇到了同样的问题
标签: android android-ndk ffmpeg