我安装了最新的android ndk。我使用Eclipse和Sequoyah。Android NDK - 在Application.mk中使用APP_STL
我想使用stlport或gnustl库中应该找到的各种东西,但是我总是收到他们找不到的错误。
在JNI/Application.mk我只有
APP_STL := stlport_shared
我试图stlport_static和gnustl_static /共享,都得到相同的结果。
在我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
您使用的是Eclipse吗? – Lennart 2012-01-04 08:41:52
我使用Eclipse和Sequoyah。 – corbin 2012-01-04 14:55:07
呃,重读那个,对不起。您是否已将stlport包含的路径添加到项目的C/C++选项中? – Lennart 2012-01-04 15:48:24