为什么无法在 android 中包含 iostream?

2024-04-27

已安装 android-ndk-r7,并尝试编译 .cpp 文件。

#include <iostream>

using namespace std;

int main ( int argc, char ** argv)
{

     cout <<"Hello World.."<<endl;

} 

执行以下命令: 进入jni文件夹,并执行

#ndk-build

出现以下错误:

/home/jelari/Desktop/androidDevelopment/android-ndk-r7/DCF/jni/test1.cpp:1:20: error: iostream: No such file or directory
/home/jelari/Desktop/androidDevelopment/android-ndk-r7/DCF/jni/test1.cpp: In function 'int main(int, char**)':
/home/jelari/Desktop/androidDevelopment/android-ndk-r7/DCF/jni/test1.cpp:8: error: 'cout' was not declared in this scope
/home/jelari/Desktop/androidDevelopment/android-ndk-r7/DCF/jni/test1.cpp:8: error: 'endl' was not declared in this scope
make: *** [/home/jelari/Desktop/androidDevelopment/android-ndk-r7/DCF/obj/local/armeabi/objs/test1/test1.o] Error 1

我究竟做错了什么 ?

我的 Android.mk 文件如下所示:

# A simple test for the minimal standard C++ library
#

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := test1
LOCAL_SRC_FILES := test1.cpp
include $(BUILD_EXECUTABLE)

Application.mk 文件如下所示:

# Build both ARMv5TE and ARMv7-A machine code.
APP_ABI := armeabi armeabi-v7a

有错误请指出?


所以答案很容易在这里找到,这里是:

默认情况下,C++ 标准库非常少。

您需要在 Application.mk 文件中设置 APP_STL。

I use:

APP_STL := gnustl_static

但您可以使用 system、stlport_static、stlport_shared 或 gnustl_static。

它记录在 $NDK/docs/CPLUSPLUS-SUPPORT.html 下,它是 有点隐藏,因为 $NDK/documentation.html 索引文件没有 列出它。

引自http://groups.google.com/group/android-ndk/browse_thread/thread/983c436239d48704?pli=1 http://groups.google.com/group/android-ndk/browse_thread/thread/983c436239d48704?pli=1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么无法在 android 中包含 iostream? 的相关文章

随机推荐