Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 双模块定义错误_Android_C_Android Ndk - Fatal编程技术网

Android 双模块定义错误

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

我正在尝试使用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 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项目