Android NDK - использование APP_STL в Application.mk - PullRequest
1 голос
/ 03 января 2012

У меня установлена ​​последняя версия Android ndk.Я использую Eclipse вместе с Sequoyah.

Я пытаюсь использовать различные вещи, которые должны быть найдены в библиотеках stlport или gnustl, но я продолжаю получать ошибки, которые не могут быть найдены.

В JNI/Application.mk У меня есть только

APP_STL := stlport_shared

Я пробовал stlport_static и gnustl_static / shared, и все получают одинаковый результат.

В моем Android.mk у меня есть

LIB_TEST_DIR := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_PATH := $(LIB_TEST_DIR)

LOCAL_MODULE := testmod

LOCAL_MODULE_FILENAME := libtestmod

LOCAL_CPP_EXTENSION := .cxx .cpp .cc

LOCAL_C_INCLUDES := $(LOCAL_PATH)/libtest2/

LOCAL_CFLAGS := -DHAVE_CONFIG_H

LOCAL_SRC_FILES := test.cc

include $(BUILD_SHARED_LIBRARY)

В заголовочном файле, который включает test.cc, у меня есть

#include <cassert>
#include <algorithm>
#include <iosfwd>

Но при сборке он не может найти ни одного из них.Есть идеи, что я делаю не так?

Когда я делаю чистку, я вижу это:

Clean: addiJNI [armeabi]
Clean: stlport_shared [armeabi]
Clean: stlport_static [armeabi]

Итак, похоже, он знал, что я хотел stlport.Подобная вещь случается, если я использую библиотеки GNU вместо этого.Но когда я строю даже самый простой пример, я получаю что-то вроде ...

jni/test.cpp:4:19: error: cassert: No such file or directory
jni/test.cpp:6:21: error: algorithm: No such file or directory
jni/test.cpp:7:18: error: iosfwd: No such file or directory
make: *** [obj/local/armeabi/objs/addiJNI/addiJNI.o] Error 1

1 Ответ

2 голосов
/ 06 января 2012

Это была проблема, не знаю почему.

LOCAL_CPP_EXTENSION: = .cxx .cpp .cc

В начале не понравился .cxx.

...