2012-04-15 10 views
3

Ich versuche, meinen C-Code mit Android NDK zu kompilieren. Ich heruntergeladen und installiert, wie auf der Android developer NDK Page vorgeschlagen, und versuchte, wie vorgeschrieben zu kompilieren, aber es scheint ein Problem zu sein, und ich nicht zu wissen, was es ist.Doppel-Modul Definition Fehler

*** 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' 

Meine Datei ist auch eine einfache Datei. Jede Hilfe wird sehr geschätzt.

# 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) 

UPDATE

Wenn ich die Linie von meinem Make-Datei zu entfernen, sind $ (local_path) /Android.mk, erhalte ich die richtige Ausgabe, die

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' 

Antwort

4

ist Warum hast du Android enthalten .mk in sich selbst mit include $(LOCAL_PATH)/Android.mk

+0

Das war mein Versuch, die Android.mk-Datei, die ich vorbereitet hatte, einzuschließen. Ist das falsch? – Kobojunkie

+0

Sie sollten ndk-build aus dem Verzeichnis ausführen, in dem Android.mk abgelegt ist. Android.mk wird überall dort enthalten, wo es vom Build-System benötigt wird, Sie enthalten es nicht. Sie können sich auf ndk/samples beziehen, dort ist ein Hallo-Jni-Projekt –