Android Soundtouch库编译问题
我正在尝试用Android NDK编译Soundtouch库。我成功安装了Soundtouch库所需的Cygwin和SWIG。当我试图运行ndk-build.cmd时,我得到了一个错误 jni/soundtouch/wrapper_wrap.cpp:在函数“void Java_com_talkingyeti_jni2_wrapper jni_soundtouch_1putSamples(JNIEnv*,_jclass*,jlong,_jobject*,jlong,jlong)”中: jni/soundtouch/wrapper_wrap.cpp:545:错误:“SAMPLETYPE”未在此范围内声明 jni/soundtouch/wrapper_wrap.cpp:545:错误:“arg2”未在此作用域中声明 jni/soundtouch/wrapper_wrap.cpp:553:错误:在“')标记之前应该有主表达式 jni/soundtouch/wrapper_wrap.cpp:560:错误:预期为“')”在“const”之前 jni/soundtouch/wrapper_wrap.cpp:560:错误:应为“;”之前的“')”代币 make:[obj/local/armeabi/objs/soundtouch/wrapper\u wrap.o]错误1 此问题发生在以下wrapper_wrap.cpp块中:Android Soundtouch库编译问题,android,android-ndk,java-native-interface,android-audiorecord,soundtouch,Android,Android Ndk,Java Native Interface,Android Audiorecord,Soundtouch,我正在尝试用Android NDK编译Soundtouch库。我成功安装了Soundtouch库所需的Cygwin和SWIG。当我试图运行ndk-build.cmd时,我得到了一个错误 jni/soundtouch/wrapper_wrap.cpp:在函数“void Java_com_talkingyeti_jni2_wrapper jni_soundtouch_1putSamples(JNIEnv*,_jclass*,jlong,_jobject*,jlong,jlong)”中: jni/so
SWIGEXPORT void JNICALL Java_com_talkingyeti_jni2_wrapperJNI_SoundTouch_1putSamples(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
soundtouch::SoundTouch *arg1 = (soundtouch::SoundTouch *) 0 ;
SAMPLETYPE *arg2 = (SAMPLETYPE *) 0 ;
uint arg3 ;
uint *argp3 ;
(void)jenv;
(void)jcls;
(void)jarg1_;
arg1 = *(soundtouch::SoundTouch **)&jarg1;
arg2 = *(SAMPLETYPE **)&jarg2;
argp3 = *(uint **)&jarg3;
if (!argp3) {
SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null uint");
return ;
}
请告诉我需要对SAMPLETYPE进行哪些更改才能正确编译NDK并生成SO文件。您似乎遗漏了一个标题。确保您有:
#include "soundtouch/include/SoundTouch.h"
及
您是否在应用程序中集成了soundtouch库?是的,在Android应用程序中可以修改声音Tempo@mmdc我再次面临这个问题,你能分享一下示例代码吗?非常感谢。
using namespace soundtouch;