I have the next folder structure:
On $My_Eclipse_Project
- jni/Android.mk
- jni/Application.mk
- jni/main.cpp
- lib/
On $My_Library_Project
- src/
- include/
- Android.mk
$My_Eclipse_Project/jni/main.cpp is a basic makefile whom call the source to compile, following the instructions from $My_Library_Project/Android.mk
# NOTE: $(warning Compiling Android.mk from sample_cameraview_activity) # This path LOCAL_PATH := $(call my-dir) $(warning Local path: $(LOCAL_PATH)) # GNU var include $(CLEAR_VARS) # Include extra library include $(mylibrary_INCLUDE)/../Android.mk # Add openCV # Add in .bashrc enviroment var include $(OPENCV_SHARE_MK)/OpenCV.mk LOCAL_ARM_NEON := true # Local libraries LOCAL_LDLIBS += -llog -lGLESv1_CM # Name library LOCAL_MODULE := camView # Local SRC LOCAL_SRC_FILES := main.cpp # Shared library include $(BUILD_SHARED_LIBRARY)
The problem is, $My_Library_Project>Android.mk don't detect the folder structure what is waiting, because my source is on src folder, don't at jni folder. I get:
Android NDK: Could not find application project directory ! Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
How could i compile the code at $My_Library_Project from $My_Eclipse_Project, and copy the library generated on $My_Eclipse_Project>lib/armeabi, to be used by main.cpp?
Thanks in advance.
2 Options. You can define $NDK_PROJECT_PATH = /your_ndk_path, Makefile auto detect the path and use it to compile, or add a enviroment var with name $NDK_PROJECT_PATH and value /your_ndk_path.