Android 如何修复NDK生成错误:pread失败:是目录吗?

Android 如何修复NDK生成错误:pread失败:是目录吗?,android,android-ndk,Android,Android Ndk,我在android上构建一些本机代码时出现以下错误: /Users/jerikc/Library/Android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: fatal error: /Users/jerikc/workdi

我在android上构建一些本机代码时出现以下错误:

/Users/jerikc/Library/Android/android-ndk-r10d/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: fatal error: /Users/jerikc/workdir/workspace/projuect: pread failed: Is a directory
collect2: error: ld returned 1 exit status
ndk版本为:r10d

Android.mk:

LOCAL_MODULE    := libpng
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libpng.a
LOCAL_EXPORT_C_INCLUDES += \
    libpng
include $(PREBUILT_STATIC_LIBRARY)

LOCAL_MODULE    := libjpeg
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libjpeg.a
LOCAL_EXPORT_C_INCLUDES += \
    libjpeg
include $(PREBUILT_STATIC_LIBRARY)

LOCAL_MODULE    := libcrypto
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libcrypto.a

include $(PREBUILT_STATIC_LIBRARY)


include $(CLEAR_VARS)
LOCAL_MODULE    := processing
LOCAL_SRC_FILES += filter_jni.c \
        control.c

LOCAL_CFLAGS := -g -O3 -ffast-math
LOCAL_LDLIBS := -llog -lm -lz
LOCAL_STATIC_LIBRARIES += libpng  libjpeg libcrypto

include $(BUILD_SHARED_LIBRARY)
您必须使用$(CLEAR_VARS)来清理您的局部变量,make现在正在处理这些变量

以下是链接,您可以在其中找到一些关于它的有用信息:

我想,以下版本将解决您的问题。我现在没有系统来检查它

include $(CLEAR_VARS)
LOCAL_MODULE    := libpng
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libpng.a
LOCAL_EXPORT_C_INCLUDES += \
    libpng
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := libjpeg
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libjpeg.a
LOCAL_EXPORT_C_INCLUDES += \
    libjpeg
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := libcrypto
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libcrypto.a

include $(PREBUILT_STATIC_LIBRARY)


include $(CLEAR_VARS)
LOCAL_MODULE    := processing
LOCAL_SRC_FILES += filter_jni.c \
        control.c

LOCAL_CFLAGS := -g -O3 -ffast-math
LOCAL_LDLIBS := -llog -lm -lz
LOCAL_STATIC_LIBRARIES += libpng  libjpeg libcrypto

include $(BUILD_SHARED_LIBRARY)
您必须使用$(CLEAR_VARS)来清理您的局部变量,make现在正在处理这些变量

以下是链接,您可以在其中找到一些关于它的有用信息:

我想,以下版本将解决您的问题。我现在没有系统来检查它

include $(CLEAR_VARS)
LOCAL_MODULE    := libpng
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libpng.a
LOCAL_EXPORT_C_INCLUDES += \
    libpng
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := libjpeg
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libjpeg.a
LOCAL_EXPORT_C_INCLUDES += \
    libjpeg
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := libcrypto
LOCAL_SRC_FILES += \
    ../jniLibs/$(TARGET_ARCH_ABI)/libcrypto.a

include $(PREBUILT_STATIC_LIBRARY)


include $(CLEAR_VARS)
LOCAL_MODULE    := processing
LOCAL_SRC_FILES += filter_jni.c \
        control.c

LOCAL_CFLAGS := -g -O3 -ffast-math
LOCAL_LDLIBS := -llog -lm -lz
LOCAL_STATIC_LIBRARIES += libpng  libjpeg libcrypto

include $(BUILD_SHARED_LIBRARY)