4

I need to use minizip with zlib in android ndk.

My jni/MyApp/Android.mk file:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := MyApp
LOCAL_SRC_FILES := MyApp.cpp

LOCAL_LDLIBS := -lz

include $(BUILD_SHARED_LIBRARY)

My jni/Android.mk

LOCAL_PATH := $(call my-dir)
include $(call all-subdir-makefiles)

My jni/MyApp/MyApp.cpp

#include <zlib.h>
#include "minizip/unzip.h" #it's in jni/MyApp/minizip/unzip.h

void unzip(char* file, char* folder) {
    unzFile zip = unzOpen(file);
}

My jni/Application.mk

APP_MODULES      := MyApp
APP_STL := gnustl_static 

But, when I compile it:

Gdbserver      : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup       : libs/armeabi/gdb.setup
SharedLibrary  : libMyApp.so
C:/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld.exe:
Z:/workspace/MyApp/obj/local/armeabi/objs-debug/MyApp/MyApp.o: in function unzip(char*, char*):Z:/workspace/MyApp/jni/MyApp/MyApp.cpp:5: error: undefined reference to 'unzOpen' collect2: ld returned 1 exit status make: *** [Z:/workspace/MyApp/obj/local/armeabi/libMyApp.so] Error 1

If I remove the line "unzFile zip = unzOpen(file);" it works

Can you help me? :D

Thanks!

JoniJnm
  • 720
  • 2
  • 10
  • 19

1 Answers1

3

Oh...

I forgot to add the c files in LOCAL_SRC_FILES :D

JoniJnm
  • 720
  • 2
  • 10
  • 19