Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JNI静态库链接失败 我试图调试我在应用程序的C++侧时所获得的一些链接错误。Android.mk如下所示: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := GLES LOCAL_SRC_FILES := ModelGLES.cpp RendererGLES.cpp LOCAL_LDLIBS := -llog -lGLESv1_CM LOCAL_LDFLAGS := -Wl,-Map,$(LOCAL_MODULE).map include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := SndSys LOCAL_SRC_FILES := SndSys.cpp libaudio_wrapper.cpp LOCAL_STATIC_LIBRARIES := libaudio_ARM_NDK LOCAL_LDLIBS := -llog LOCAL_LDFLAGS := -Wl,-Map,$(LOCAL_MODULE).map LOCAL_C_INCLUDES := $(LOCAL_PATH) include $(BUILD_SHARED_LIBRARY) Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup Compile++ thumb : GLES <= ModelGLES.cpp Compile++ thumb : GLES <= RendererGLES.cpp SharedLibrary : libGLES.so Install : libGLES.so => libs/armeabi/libGLES.so Compile++ thumb : SndSys <= SndSys.cpp Compile++ thumb : SndSys <= libaudio_wrapper.cpp SharedLibrary : libSndSys.so /Users/bob/Desktop/Root/Relaxation/obj/local/armeabi/objs-debug/SndSys/libaudio_wrapper.o: In function `audioInit(int, int)': /Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:37: undefined reference to `GetAudioChannelSize' /Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:38: undefined reference to `GetAudioInitControlSize'_Android_Java Native Interface_Android Ndk - Fatal编程技术网

JNI静态库链接失败 我试图调试我在应用程序的C++侧时所获得的一些链接错误。Android.mk如下所示: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := GLES LOCAL_SRC_FILES := ModelGLES.cpp RendererGLES.cpp LOCAL_LDLIBS := -llog -lGLESv1_CM LOCAL_LDFLAGS := -Wl,-Map,$(LOCAL_MODULE).map include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := SndSys LOCAL_SRC_FILES := SndSys.cpp libaudio_wrapper.cpp LOCAL_STATIC_LIBRARIES := libaudio_ARM_NDK LOCAL_LDLIBS := -llog LOCAL_LDFLAGS := -Wl,-Map,$(LOCAL_MODULE).map LOCAL_C_INCLUDES := $(LOCAL_PATH) include $(BUILD_SHARED_LIBRARY) Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup Compile++ thumb : GLES <= ModelGLES.cpp Compile++ thumb : GLES <= RendererGLES.cpp SharedLibrary : libGLES.so Install : libGLES.so => libs/armeabi/libGLES.so Compile++ thumb : SndSys <= SndSys.cpp Compile++ thumb : SndSys <= libaudio_wrapper.cpp SharedLibrary : libSndSys.so /Users/bob/Desktop/Root/Relaxation/obj/local/armeabi/objs-debug/SndSys/libaudio_wrapper.o: In function `audioInit(int, int)': /Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:37: undefined reference to `GetAudioChannelSize' /Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:38: undefined reference to `GetAudioInitControlSize'

JNI静态库链接失败 我试图调试我在应用程序的C++侧时所获得的一些链接错误。Android.mk如下所示: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := GLES LOCAL_SRC_FILES := ModelGLES.cpp RendererGLES.cpp LOCAL_LDLIBS := -llog -lGLESv1_CM LOCAL_LDFLAGS := -Wl,-Map,$(LOCAL_MODULE).map include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := SndSys LOCAL_SRC_FILES := SndSys.cpp libaudio_wrapper.cpp LOCAL_STATIC_LIBRARIES := libaudio_ARM_NDK LOCAL_LDLIBS := -llog LOCAL_LDFLAGS := -Wl,-Map,$(LOCAL_MODULE).map LOCAL_C_INCLUDES := $(LOCAL_PATH) include $(BUILD_SHARED_LIBRARY) Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup Compile++ thumb : GLES <= ModelGLES.cpp Compile++ thumb : GLES <= RendererGLES.cpp SharedLibrary : libGLES.so Install : libGLES.so => libs/armeabi/libGLES.so Compile++ thumb : SndSys <= SndSys.cpp Compile++ thumb : SndSys <= libaudio_wrapper.cpp SharedLibrary : libSndSys.so /Users/bob/Desktop/Root/Relaxation/obj/local/armeabi/objs-debug/SndSys/libaudio_wrapper.o: In function `audioInit(int, int)': /Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:37: undefined reference to `GetAudioChannelSize' /Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:38: undefined reference to `GetAudioInitControlSize',android,java-native-interface,android-ndk,Android,Java Native Interface,Android Ndk,我得到的错误是libaudio_包装器。链接器无法解析libaudio\u ARM\u NDK中的符号。文件夹结构如下所示: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := GLES LOCAL_SRC_FILES := ModelGLES.cpp RendererGLES.cpp LOCAL_LDLIBS := -llog -lGLESv1_CM LOCAL_LDFLAGS := -Wl,

我得到的错误是libaudio_包装器。链接器无法解析libaudio\u ARM\u NDK中的符号。文件夹结构如下所示:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := GLES
LOCAL_SRC_FILES := ModelGLES.cpp RendererGLES.cpp
LOCAL_LDLIBS    := -llog -lGLESv1_CM
LOCAL_LDFLAGS   := -Wl,-Map,$(LOCAL_MODULE).map 

include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE    := SndSys
LOCAL_SRC_FILES := SndSys.cpp libaudio_wrapper.cpp
LOCAL_STATIC_LIBRARIES := libaudio_ARM_NDK
LOCAL_LDLIBS := -llog
LOCAL_LDFLAGS   := -Wl,-Map,$(LOCAL_MODULE).map 
LOCAL_C_INCLUDES := $(LOCAL_PATH)

include $(BUILD_SHARED_LIBRARY)
Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup       : libs/armeabi/gdb.setup
Compile++ thumb  : GLES <= ModelGLES.cpp
Compile++ thumb  : GLES <= RendererGLES.cpp
SharedLibrary  : libGLES.so
Install        : libGLES.so => libs/armeabi/libGLES.so
Compile++ thumb  : SndSys <= SndSys.cpp
Compile++ thumb  : SndSys <= libaudio_wrapper.cpp
SharedLibrary  : libSndSys.so
/Users/bob/Desktop/Root/Relaxation/obj/local/armeabi/objs-debug/SndSys/libaudio_wrapper.o: In function `audioInit(int, int)':
/Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:37: undefined reference to `GetAudioChannelSize'
/Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:38: undefined reference to `GetAudioInitControlSize'
应用程序\ jni\ SndSys.cpp libaudio_wrapper.cpp Android.mk libaudio_ARM_NDK.a

我正在jni文件夹中调用ndk构建表单。结果如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := GLES
LOCAL_SRC_FILES := ModelGLES.cpp RendererGLES.cpp
LOCAL_LDLIBS    := -llog -lGLESv1_CM
LOCAL_LDFLAGS   := -Wl,-Map,$(LOCAL_MODULE).map 

include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE    := SndSys
LOCAL_SRC_FILES := SndSys.cpp libaudio_wrapper.cpp
LOCAL_STATIC_LIBRARIES := libaudio_ARM_NDK
LOCAL_LDLIBS := -llog
LOCAL_LDFLAGS   := -Wl,-Map,$(LOCAL_MODULE).map 
LOCAL_C_INCLUDES := $(LOCAL_PATH)

include $(BUILD_SHARED_LIBRARY)
Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup       : libs/armeabi/gdb.setup
Compile++ thumb  : GLES <= ModelGLES.cpp
Compile++ thumb  : GLES <= RendererGLES.cpp
SharedLibrary  : libGLES.so
Install        : libGLES.so => libs/armeabi/libGLES.so
Compile++ thumb  : SndSys <= SndSys.cpp
Compile++ thumb  : SndSys <= libaudio_wrapper.cpp
SharedLibrary  : libSndSys.so
/Users/bob/Desktop/Root/Relaxation/obj/local/armeabi/objs-debug/SndSys/libaudio_wrapper.o: In function `audioInit(int, int)':
/Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:37: undefined reference to `GetAudioChannelSize'
/Users/bob/Desktop/Root/Relaxation/jni/libaudio_wrapper.cpp:38: undefined reference to `GetAudioInitControlSize'
Gdbserver:[arm-linux-androideabi-4.4.3]libs/armeabi/Gdbserver
gdb设置:libs/armeabi/gdb.setup

Compile++thumb:GLES问题是我升级到了ndk-r5。建造预建图书馆的一些规则已经改变。每个预先构建的库都需要为其留出自己的模块。Android.ml的后半部分应该是这样的

include $(CLEAR_VARS)

LOCAL_MODULE := audiolib
LOCAL_SRC_FILES := libaudio_ARM_NDK.a

include $(PREBUILT_STATIC_LIBRARY)


include $(CLEAR_VARS)

LOCAL_MODULE    := SndSys
LOCAL_SRC_FILES := SndSys.cpp libaduio_wrapper.cpp
LOCAL_STATIC_LIBRARIES := audiolib
LOCAL_LDLIBS := -llog

include $(BUILD_SHARED_LIBRARY)

问题是我升级到了ndk-r5。建造预建图书馆的一些规则已经改变。每个预先构建的库都需要为其留出自己的模块。Android.ml的后半部分应该是这样的

include $(CLEAR_VARS)

LOCAL_MODULE := audiolib
LOCAL_SRC_FILES := libaudio_ARM_NDK.a

include $(PREBUILT_STATIC_LIBRARY)


include $(CLEAR_VARS)

LOCAL_MODULE    := SndSys
LOCAL_SRC_FILES := SndSys.cpp libaduio_wrapper.cpp
LOCAL_STATIC_LIBRARIES := audiolib
LOCAL_LDLIBS := -llog

include $(BUILD_SHARED_LIBRARY)