Android NDK:中止停止? [英] Android NDK: Aborting stop?
问题描述
我正在为ffmpeg工作。我已经成功编译ffmpeg-2.0.1
之后,我在我的NDK的源/ ffmpeg-2.0.1 / 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)
之后make android项目和android项目中的Android.mk文件是
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= tutorial01
LOCAL_SRC_FILES:= tutorial01.c
LOCAL_LDLIBS:= -llog -ljnigraphics -lz
LOCAL_SHARED_LIBRARIES:= libavformat libavcodec libswscale libavutil
include $(BUILD_SHARED_LIBRARY)
$ import-module,ffmpeg-2.0.1 / android / arm)
但显示有问题
*** Android NDK:Aborting。停止。
android-ffmpeg-tutorial01line 45,外部位置:
/home/tech/Documents/roman10/ndk/android-ndk-r9c/build/core/prebuilt-library.mk
C / C ++问题
我的NDK是android-ndk-r9c,系统是ubuntu-13.04,
=http://www.kandroid.org/ndk/docs/ANDROID-MK.html> Android.mk结构
。
需要更改 Android.mk
文件如下:
LOCAL_PATH:= $(call my-dir)
Android NDK:Aborting
include $(CLEAR_VARS)
LOCAL_MODULE:= ffmpeg
LOCAL_SRC_FILES:= libs / ffmpeg.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= final_ffmpeg
LOCAL_SRC_FILES:= ffmpeg.cpp
LOCAL_LDLIBS:= -L $ (sysroot)/ usr / lib -llog
LOCAL_PREBUILTS:= libs / ffmpeg.so
#libavformat libavcodec libswscale libavutil
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= ffmpeg
LOCAL_SRC_FILES:= libs / ffmpeg.so
include $(PREBUILT_SHARED_LIBRARY)
include $ (CLEAR_VARS)
LOCAL_MODULE:= ffmpeg
LOCAL_SRC_FILES:= ffmpeg.cpp
LOCAL_SHARED_LIBRARIES:= ffmpeg
include $(BUILD_SHARED_LIBRARY)
当
LOCAL_MODULE
名称重复时, / em>
结果将帮助您:
这仍然是您需要调用C ++文件中的C ++函数Java文件。
I am working on ffmpeg for android. I have successfully compile ffmpeg-2.0.1 after that I make Android.mk file in my NDK's sources/ffmpeg-2.0.1/android/arm as
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)
After that make android project and in android project Android.mk file is as
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := tutorial01 LOCAL_SRC_FILES := tutorial01.c LOCAL_LDLIBS := -llog -ljnigraphics -lz LOCAL_SHARED_LIBRARIES := libavformat libavcodec libswscale libavutil include $(BUILD_SHARED_LIBRARY) $(call import-module,ffmpeg-2.0.1/android/arm)
but showing a problem
*** Android NDK: Aborting . Stop. android-ffmpeg-tutorial01line 45, external location: /home/tech/Documents/roman10/ndk/android-ndk-r9c/build/core/prebuilt-library.mk C/C++ Problem
My NDK is android-ndk-r9c,system is ubuntu-13.04,please anyone guide me.
thanks in advance.
解决方案See the
Android.mk structure
firstly.Need change
Android.mk
file like this :LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := ffmpeg LOCAL_SRC_FILES := libs/ffmpeg.so include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := final_ffmpeg LOCAL_SRC_FILES := ffmpeg.cpp LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog LOCAL_PREBUILTS := libs/ffmpeg.so #libavformat libavcodec libswscale libavutil include $(BUILD_SHARED_LIBRARY)
p/s : I also get the
Android NDK : Aborting
problem as you when put data together like this :LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE:= ffmpeg LOCAL_SRC_FILES:= libs/ffmpeg.so include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := ffmpeg LOCAL_SRC_FILES := ffmpeg.cpp LOCAL_SHARED_LIBRARIES := ffmpeg include $(BUILD_SHARED_LIBRARY)
This problem happens when
LOCAL_MODULE
name is duplicated.The result will help you :
It still be exactly when you need call the C++ function in C++ file from Java file.
这篇关于Android NDK:中止停止?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!