Paweu
Paweu

Reputation: 35

Eclipse, Android NDK, android.mk - access denied

I'm trying to configure Eclipse with NDK. During building (clean, build - wathever) the project, I have this:

13:09:42 **** Clean-only build of configuration Default for project Project ****
"D:\\android\\android-ndk-r10e\\ndk-build.cmd" clean 
Access denied - JNI/../../../../PROJECT/SRC 
File not found - -NAME 
File not found - -PRINTF
File not found - ../../../../PROJECT/SRC/%P \N
Android NDK: WARNING:jni/Android.mk:project: LOCAL_LDLIBS is always ignored for static libraries    

[armeabi-v7a] Clean          : bullet [armeabi-v7a]
[armeabi-v7a] Clean          : freetype [armeabi-v7a] 
[armeabi-v7a] Clean          : openal [armeabi-v7a]
[armeabi-v7a] Clean          : stlport_shared [armeabi-v7a]
[armeabi-v7a] Clean          : stlport_static [armeabi-v7a]
[armeabi-v7a] Clean          : project [armeabi-v7a]
[armeabi-v7a] Clean          : vpx [armeabi-v7a]

13:09:43 Build Finished (took 1s.168ms)

And my android.mk:

LOCAL_PATH:= $(call my-dir)
TARGET_PLATFORM := android-9 
include $(CLEAR_VARS)
#include $(LOCAL_PATH)/bullet.mk
LOCAL_MODULE    := bullet 
LOCAL_SRC_FILES = ../../../../Project/lib_android/lib/$(TARGET_ARCH_ABI)/libbullet.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)

include $(CLEAR_VARS)
LOCAL_MODULE    := libvpx 
LOCAL_SRC_FILES = ../../../../Project/lib_android/lib/$(TARGET_ARCH_ABI)/libvpx.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := openal 
LOCAL_SRC_FILES = ../../../../Project/lib_android/lib/$(TARGET_ARCH_ABI)/libopenal.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := freetype 
LOCAL_SRC_FILES = ../../../../Project/lib_android/lib/$(TARGET_ARCH_ABI)/libfreetype.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE := project

TARGET_PLATFORM := android-9

OPENGLES_LIB  := -lGLESv2
OPENGLES_DEF  := -DUSE_OPENGL_ES_2_0

LOCAL_SHARED_LIBRARIES := openal libvpx freetype libbullet
#LOCAL_ARM_MODE := arm

LOCAL_MODULE_FILENAME := libproject
LOCAL_C_INCLUDES := \
        $(LOCAL_PATH)/../../../../Project/src/ \
        $(LOCAL_PATH)/../../../../Project/inc/bullet \
        $(LOCAL_PATH)/../../../../Project/inc/ \
        $(LOCAL_PATH)/../../../../Project/inc/freetype/include \
        $(LOCAL_PATH)/../../../../Project/inc_android/ \
        $(LOCAL_PATH)/../../../../Project/inc_android/openal/include \
        $(LOCAL_PATH)/../../../../Project/inc_android/openal/OpenAL32/Include \
        $(LOCAL_PATH)/../../../src \
#$(error "$(LOCAL_PATH)/../../../../Project/src/")
LOCAL_CPPFLAGS := $(LOCAL_CPP_INCLUDES:%=-I%)  -rdynamic -std=c++11
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -ldl -lm -llog \
        -lGLESv2 -ldl -llog -lEGL -Wl,-s

cppfiles := $(shell find $(LOCAL_PATH)/../../../../Project/src -name "*.cpp" -printf "../../../../Project/src/%%P \n")
LOCAL_SRC_FILES := $(cppfiles)


include $(BUILD_STATIC_LIBRARY)

I've been trying to reinstall everything, configure permissions, moving projects, NDK, SDK and I have nothing. I have no idea what I should do. I'm stuck. What am I missing?

Upvotes: 0

Views: 392

Answers (1)

Paweu
Paweu

Reputation: 35

I changed this:

cppfiles := $(shell find $(LOCAL_PATH)/../../../../Project/src -name "*.cpp" -printf "../../../../Project/src/%%P \n")
LOCAL_SRC_FILES := $(cppfiles)

to this:

cppfiles := $(wildcard $(LOCAL_PATH)/../../../../Project/src/*.cpp)
LOCAL_SRC_FILES := $(cppfiles:$(LOCAL_PATH)/%=%)

And it works. If you want to attach files located in subdirectories, you need to add symbol ** like

src/**/*.cpp

Upvotes: 2

Related Questions