首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android NDK:中止停止?

Android NDK:中止停止?
EN

Stack Overflow用户
提问于 2014-03-20 16:11:14
回答 2查看 23.1K关注 0票数 12

我正在为android开发ffmpeg。我已经成功编译了ffmpeg-2.0.1,之后我在NDK源文件/ffmpeg-2.0.1/android/arm中生成了Android.mk文件,如下所示

代码语言:javascript
复制
      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文件是

代码语言:javascript
复制
  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)

但是显示出一个问题

代码语言:javascript
复制
 *** 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

我的NDK是android-ndk-r9c,系统是ubuntu-13.04,请大家指点一下。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-25 15:28:50

先看看Android.mk structure

需要像这样修改Android.mk文件:

代码语言:javascript
复制
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 :当你像这样把数据放在一起时,我也遇到了Android NDK : Aborting问题:

代码语言:javascript
复制
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名称重复时,会出现此问题。

结果将对您有所帮助:

它仍然是您需要call the C++ function in C++ file from Java file的确切时间。

票数 7
EN

Stack Overflow用户

发布于 2014-07-30 10:56:48

当我尝试使用NDK64-Linux-r10构建HelloComputeNDK示例时,我遇到了类似的问题。

然后我注意到NDK64-Linux-r10只有Android-L平台,所以我下载了NDK32-Linux-R10,并将其与NDK64-Linux-r10合并。

这对我来说很好。

你可以在这里下载NDK32-Linux-r10:https://developer.android.com/tools/sdk/ndk/index.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22526992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档