在 Android NDK 中使用 C++ 头文件(如:#include <vector>)
(2013-01-15 18:37:30)
标签:
杂谈 |
分类: 开源项目之Android |
首先,要在
工程目录/jni/Application.mk 文件中添加如下一行:
APP_STL
:=
stlport_static
I tried
using stlport_shared, but no luck. Same with
libstdc++.
我尝试过使用
stlport 动态库,但是不行。同 libstdc++ 一样。
下面举个例子:
在
工程目录/jni/Android.mk 文件中添写如下内容:
LOCAL_PATH := $(call my-dir)
include
$(CLEAR_VARS)
LOCAL_MODULE
:= hello-jni
LOCAL_SRC_FILES :=
hello-jni.cpp
LOCAL_LDLIBS
:= -llog
include
$(BUILD_SHARED_LIBRARY)
以上内容中,没有什么是专用的,但是一定要确保源代码文件的扩展名为 .cpp 。
在
工程目录/jni/hello-jni.cpp 文件中添写如下内容:
#include
#include
#include
#include
#include
#define
LOG_TAG
"hellojni"
#define
LOGI(...)
__android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define
LOGE(...)
__android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
#ifdef
__cplusplus
#endif
// 注释省略
void
Java_com_example_hellojni_HelloJni_stringFromJNI(
JNIEnv* env,
{
}
#ifdef
__cplusplus
}
#endif