Thank's for your answer
I have check my makefile, try to change somes things, but I have always the same error...
Link arguments : .linkargs
arm-linux-androideabi-g++.exe: error: missing filename after '-o'
/cygdrive/c/android-ndk-r8c-windows/android-ndk-r8c/build/core/build-binary.mk:390: recipe for target `obj/local/armeabi/libSFX.so' failed
my .linkarg file
-Wl,-soname, -shared --sysroot=C:/android-ndk-r8c-windows/android-ndk-r8c/platforms/android-9/arch-arm
./obj/local/armeabi/objs/SFX/__/__/examples/08.SpecialFX/main.o
./obj/local/armeabi/libandroid_native_app_glue.a ./obj/local/armeabi/libIrrAndroid.a ./obj/local/armeabi/libstdc++.a c:/android-ndk-r8c-windows/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.6/libgcc.a -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -LC:/android-ndk-r8c-windows/android-ndk-r8c/platforms/android-9/arch-arm/usr/lib -llog -landroid -lEGL -lGLESv2 -lz -llog -lstdc++ -lc -lm -o
makefile
JNI_FOLDER := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := SFX
### Add all source file names to be included in lib separated by a whitespace
LOCAL_SRC_FILES := ../../examples/08.SpecialFX/main.cpp
LOCAL_C_INCLUDES := \
../../include
LOCAL_CFLAGS := -DBUILD_OGLES2 -g -D_DEBUG
ifeq ($(TARGET_ARCH_ABI),x86)
LOCAL_CFLAGS += -fno-stack-protector
endif
LOCAL_LDLIBS := \
-llog \
-landroid \
-lEGL \
-lGLESv2 \
-lz
LOCAL_STATIC_LIBRARIES := \
android_native_app_glue \
IrrAndroid
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
IrrAndroid makefile
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := IrrAndroid
LOCAL_SRC_FILES := \
// All the Irrlicht source files.
LOCAL_C_INCLUDES := \
../../include
LOCAL_CFLAGS := -DBUILD_OGLES2 -g -D_DEBUG
#ifeq ($(TARGET_ARCH_ABI),x86)
#LOCAL_CFLAGS += -fno-stack-protector
#endif
################################################################
#following code is modified copy of `cmd-build-shared-library` from %NDK%/toolchains/arm-linux-androideabi-4.4.3/setup.mk
# it is modified to use separate .linkargs file for linker, because otherwise 'Argument list too long' error occurs.
# /dnick
define cmd-build-shared-library
$(eval linkargs := $(call host-path,$@.linkargs))
@ echo 'Link arguments : ' $(linkargs)
$(hide) echo \
-Wl,-soname,$(notdir $@) \
-shared \
--sysroot=$(call host-path,$(PRIVATE_SYSROOT)) \
> $(linkargs)
$(hide) $(foreach object, $(call host-path, $(PRIVATE_OBJECTS)), echo '$(object)' >> $(linkargs); )
$(hide) echo \
$(call link-whole-archives,$(PRIVATE_WHOLE_STATIC_LIBRARIES)) \
$(call host-path,\
$(PRIVATE_STATIC_LIBRARIES) \
$(PRIVATE_LIBGCC) \
$(PRIVATE_SHARED_LIBRARIES)) \
$(PRIVATE_LDFLAGS) \
$(PRIVATE_LDLIBS) \
-o $(call host-path,$@) \
>> $(linkargs)
$(hide) $(PRIVATE_CXX) @$(linkargs)
endef
################################################################
include $(BUILD_STATIC_LIBRARY)