ndk-build не может найти модуль с тегом 'cxx-stl/system' в пути импорта

Я новичок в Android и пробую демо-версию Android с Ubuntu.

Я запускаю ndk-build и получаю результат ниже.

andylee@ubuntu:~/Downloads/android-ndk-r11-linux-
x86_64.tar.bz2/sources/hello/jni$ ndk-build -C 
/home/andylee/Downloads/android-ndk-r11-linux-x86_64.tar.bz2/sources/hello
make: Entering directory '/home/andylee/Downloads/android-ndk-r11-linux-
x86_64.tar.bz2/sources/hello'
make: *** No rule to make target '/hello.c', needed by 
'obj/local/armeabi/objs/helloARM/hello.o'.  Stop.
make: Leaving directory '/home/andylee/Downloads/android-ndk-r11-linux-
x86_64.tar.bz2/sources/hello'

Затем я удаляю Android.mk в другой папке (структура папок ниже) и получаю это.

andylee@ubuntu:~$ ndk-build -C /home/andylee/Downloads/android-ndk-r11-
linux-x86_64.tar.bz2/sources/hello
make: Entering directory '/home/andylee/Downloads/android-ndk-r11-linux-
x86_64.tar.bz2/sources/hello'
Android NDK: : Cannot find module with tag 'cxx-stl/system' in import path    

Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined 
?    
Android NDK: The following directories were searched:    
Android NDK:         
/home/andylee/Downloads/android-ndk-r11-linux-
x86_64.tar.bz2/build/core/setup-toolchain.mk:213: *** Android NDK: Aborting.    
.  Stop.
make: Leaving directory '/home/andylee/Downloads/android-ndk-r11-linux-
x86_64.tar.bz2/sources/hello'

Моя структура папок такая.

home/andylee/Downloads/android-ndk-r11-linux-x86_64.tar.bz2
  ndk-build
  /sources  
    /cxx-stl
        /system
           /Android.mk
    /hello
        /jni
           /hello.c
           /hello.h
           /Android.mk

Android.mk в папке jni

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := hello.c 
LOCAL_MODULE := helloARM 
LOCAL_CFLAGS += -pie -fPIE 
LOCAL_LDFLAGS += -pie -fPIE 
LOCAL_FORCE_STATIC_EXECUTABLE := true
include $(BUILD_EXECUTABLE)

Привет

#include "hello.h"
int main(int argc, char *argv[]){
printf("Hello World!\n");
return 0;
}

hello.h

#ifndef HELLOHEADER_H_
#define HELLOHEADER_H_
#include <stdio.h>
#endif /*HELLOHEADER_H_*/

Интересно, почему ndk найдет модуль с тегом "cxx-stl/system", я не импортировал ни одного модуля в Android.mk. Я был разочарован этим часами, и я был бы очень признателен за вашу помощь.

1 ответ

Кажется, что есть некоторая синтаксическая ошибка, когда я копирую эти коды из демонстрации. После исправления ошибки я могу успешно собрать.

Другие вопросы по тегам