Android - 构建NDK库时找不到文件

时间:2017-09-05 12:24:12

标签: android bash android-ndk

我正在尝试按照源代码中提供的指南构建适用于Android的SoundTouch库:

  

编译

     

将SoundTouch库源代码编译为Android原生代码   库,打开Cygwin / bash shell,转到目录   " soundtouch /源极/ Android的LIB / JNI"并调用NDK编译器   以下命令:

$NDK/ndk-build
     

这将为所有受支持的Android平台构建二进制文件   SoundTouch库的arm-v5,arm-v7,X86,MIPS等,加上JNI   包装器接口如下所述。目标二进制文件将是   内置于" libs"子目录。只要所有这些.so二进制   图书馆版本包含在APK应用程序交付包中,   targer Android设备可以选择正确的库版本   使用

     

请注意,允许Cygwin / bash找到NDK编译脚本,   您需要定义定义的NDK安装的位置   环境变量" NDK"。通过添加NDK路径,这是最简单的方法   〜/ .bash_profile文件末尾的定义,例如   如下:

NDK=/cygdrive/d/Android/android-ndk-r6

要执行此操作,我将进入SoundTouch/source/android-lib/jni目录中的Terminal并键入以下命令:

export ANDROID_NDK=~/Android/Sdk/ndk-bundle
export NDK_ROOT=$ANDROID_NDK
export PATH=${PATH}:${ANDROID_NDK}
ndk-build

然后我收到以下错误:

[arm64-v8a] Compile++      : soundtouch <= soundtouch-jni.cpp
jni/soundtouch-jni.cpp:23:10: fatal error: '../source/SoundStretch/WavFile.h'
      file not found
#include "../source/SoundStretch/WavFile.h"
         ^
1 error generated.
/home/daniele/Android/Sdk/ndk-bundle/build/core/build-binary.mk:499: recipe for target 'obj/local/arm64-v8a/objs/soundtouch/soundtouch-jni.o' failed
make: *** [obj/local/arm64-v8a/objs/soundtouch/soundtouch-jni.o] Error 1

如果我去那个目录,那么文件就在那里。以下是该文件的屏幕截图:&#39; s direcotry:

file dir

0 个答案:

没有答案