Android 双模块定义错误
我正在尝试使用Android NDK编译我的C代码。我按照上的建议下载并安装,并尝试按照规定进行编译,但似乎存在一些问题,我似乎不知道这是什么Android 双模块定义错误,android,c,android-ndk,Android,C,Android Ndk,我正在尝试使用Android NDK编译我的C代码。我按照上的建议下载并安装,并尝试按照规定进行编译,但似乎存在一些问题,我似乎不知道这是什么 *** Command Line compile code ** C:\cygwin\android-ndk-r7c>ndk-build -C C:\Users\BoosterJack\workspace\workAndroid Android NDK: Trying to define local module 'stdc++' in
*** Command Line compile code **
C:\cygwin\android-ndk-r7c>ndk-build -C C:\Users\BoosterJack\workspace\workAndroid
Android NDK: Trying to define local module 'stdc++' in C:/cygwin/android-ndk-r7c/sources/cxx-stl/system/Android.mk.
Android NDK: But this module was already defined by C:/cygwin/android-ndk-r7c/sources/cxx-stl/system/Android.mk.
make: Entering directory `C:/Users/BoosterJack/workspace/workAndroid'
C:/cygwin/android-ndk-r7c/build/core/build-module.mk:34: *** Android NDK: Aborting. . Stop.
make: Leaving directory `C:/Users/BoosterJack/workspace/workAndroid'
我的make文件也是一个简单的文件。任何帮助都将不胜感激
# Include makefiles here.
include $(LOCAL_PATH)/Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := NativeLibjni
LOCAL_SRC_FILES := NativeLib.c
include $(BUILD_SHARED_LIBRARY)
更新
当我从makefile中删除include$(LOCAL_PATH)/Android.mk行时,我得到了正确的输出,即
C:\Users\BoosterJack>ndk-build -C C:\Users\BoosterJack\workspace\workAndroid
make: Entering directory `C:/Users/BoosterJack/workspace/workAndroid'
"Compile thumb : NativeLibjni <= NativeLib.c
SharedLibrary : libNativeLibjni.so
Install : libNativeLibjni.so => libs/armeabi/libNativeLibjni.so
make: Leaving directory `C:/Users/BoosterJack/workspace/workAndroid'
C:\Users\BoosterJack>ndk build-C:\Users\BoosterJack\workspace\workAndroid
make:进入目录'C:/Users/BoosterJack/workspace/workAndroid'
编译thumb:NativeLibjni libs/armeabi/libNativeLibjni.so
make:离开目录'C:/Users/BoosterJack/workspace/workAndroid'
为什么要使用include$(本地路径)将Android.mk包含在自己的文件中/Android.mk
这是我试图包含我准备的Android.mk文件。这是错误的吗?你应该从放置Android.mk的目录运行ndk build。Android.mk可以包含在构建系统需要的任何地方,但不包含它。你可以参考ndk/samples,那里有一个hello jni项目