编译.c库Eclipse for Android错误
我正在使用Eclipse for Windows、Android SDK和Android NDK(我确信所有路径都设置正确) 我正在寻找在jni文件夹中编译.c库locatad,但出现了一些错误。此库依赖于外部。因此,这些库是我的Makefile、Android.mk和库: . Android.mk:编译.c库Eclipse for Android错误,android,c,eclipse,android-ndk,android-library,Android,C,Eclipse,Android Ndk,Android Library,我正在使用Eclipse for Windows、Android SDK和Android NDK(我确信所有路径都设置正确) 我正在寻找在jni文件夹中编译.c库locatad,但出现了一些错误。此库依赖于外部。因此,这些库是我的Makefile、Android.mk和库: . Android.mk: LOCAL_PATH := $(call my-dir) #---------------------------------------------------------------
LOCAL_PATH := $(call my-dir)
#---------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := pdbeatdetection
LOCAL_C_INCLUDES := $(LOCAL_PATH)\C:\PROGRAMMING\pd-0.45-4\src
LOCAL_CFLAGS := -DPD
LOCAL_SRC_FILES := pdbeatdetection.c
LOCAL_LDLIBS := -L$(LOCAL_PATH)\C:\PROGRAMMING\PdCore\libs\armeabi\ -lpdnative
include $(BUILD_SHARED_LIBRARY)
生成文件:
all:
C:\PROGRAMMING\android-ndk-r10d\ndk-build.cmd
mkdir ../tmp
cp ..\libs\armeabi\libpdBeatDetection.so ..\tmp\pdbeatdetection.pd_linux
cd ..\tmp && zip externals.zip *.pd_linux && mv externals.zip ..\res\raw
rm -rf ..\tmp
我学习了一些教程,但是我仍然不能解决这个问题。
你能给我一些建议来编译这个库,避免下面的错误吗
错误:
Description Resource Path Location Type
make.exe: *** [obj/local/armeabi/libpdbeatdetection.so] Error 1 Discoteque C/C++ Problem
谢谢大家! 如果代码依赖于外部.so文件,则应使用
prebuild\u SHARED\u库
宏正确声明它,如下所示:
LOCAL_PATH := $(call my-dir)
#dependency
include $(CLEAR_VARS)
LOCAL_MODULE := pdnative
LOCAL_SRC_FILES := C:/PROGRAMMING/PdCore/libs/$(TARGET_ARCH_ABI)/libpdnative.so
LOCAL_EXPORT_C_INCLUDES := C:/PROGRAMMING/pd-0.45-4/src
include $(PREBUILT_SHARED_LIBRARY)
#your module
include $(CLEAR_VARS)
LOCAL_MODULE := pdbeatdetection
LOCAL_SRC_FILES := pdbeatdetection.c
LOCAL_CFLAGS := -DPD
include $(BUILD_SHARED_LIBRARY)
如果这还不足以解决您的问题,请直接调用ndk build.cmd
告诉我们报告的错误。LOCAL\u C\u INCLUDES:=$(LOCAL\u PATH)\C:\PROGRAMMING\pd-0.45-4\src
看起来很奇怪。