And*_*rin 35 android cygwin iostream android-ndk
我有使用ndk-build工具编译cpp文件的问题(带有cygwin的Windows 7)当我尝试使用#include编译cpp文件时出现错误:
jni/native.cpp:5:20: error: iostream: No such file or directory
这是我的cpp文件:
#include <jni.h>
#include <string.h>
#include <stdio.h>
#include <android/log.h>
#include <iostream>
#define DEBUG_TAG "NDK_SampleActivity"
#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
extern "C" {
#endif
void Java_com_test_ndk_SampleActivity_helloLog(JNIEnv* env, jobject thisobj, jstring logThis)
{
    jboolean isCopy;
    const char * szLogThis = env->GetStringUTFChars(logThis, &isCopy);
    __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:LC: [%s]", szLogThis);
    env->ReleaseStringUTFChars(logThis, szLogThis);
}
#ifdef __cplusplus
}
#endif
这是我的Android.mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
APP_STL:=stlport_static 
LOCAL_LDLIBS := -llog
LOCAL_MODULE    := swingbyte-android
LOCAL_SRC_FILES := native.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include-all
include $(BUILD_SHARED_LIBRARY)
我在android ndk文件夹中有iostream文件(NDK_ROOT\sources\cxx-stl\gnu-libstdc ++\include)但我不知道如何告诉编译器在该文件夹中查找iotream(和其他标准头文件).
似乎我缺少一个或几个环境变量,或一些comiler标志.
Gae*_*tan 62
我认为"APP_STL:= stlport_static"必须在Application.mk文件中.
创建一个"Application.mk"文件并在其中写入"APP_STL:= stlport_static".
| 归档时间: | 
 | 
| 查看次数: | 38122 次 | 
| 最近记录: |