在Android中使用C ++构buildNDK的问题

目前我正在使用Android NDK和JNI。 我正在试图用NDK构build一个C ++代码。

但是我得到了以下错误:

E:/Android/Tranining_workspace/BackUpMigrant/jni/ReadBackupArc5/ReadBackupArc5.cpp:10:19: error: fstream: No such file or directory E:/Android/Tranining_workspace/BackUpMigrant/jni/ReadBackupArc5/ReadBackupArc5.cpp:20: error: 'ifstream' does not name a type E:/Android/Tranining_workspace/BackUpMigrant/jni/ReadBackupArc5/ReadBackupArc5.cpp:21: error: 'ofstream' does not name a type E:/Android/Tranining_workspace/BackUpMigrant/jni/ReadBackupArc5/ReadBackupArc5.cpp:22: error: 'ofstream' does not name a type E:/Android/Tranining_workspace/BackUpMigrant/jni/ReadBackupArc5/ReadBackupArc5.cpp:34: error: 'string' was not declared in this scope 

任何人都可以帮我吗?

  • Android的JNI:GetObjectClass崩溃与SIGSEGV(不是一个有效的JNI参考)
  • 如何从eclipse中的Android项目中删除原生支持,因为eclipse在jni中显示错误?
  • 用C ++(JNI)从Java对象读取整数字段
  • JNI,调用布尔方法
  • 是否真的应该避免Java终结器对于本地对等生命周期pipe理?
  • 我们可以访问我的Android手机的麦克风驱动程序
  • 如何调试SEGV_ACCERR
  • Android Studio中的JNI和Gradle
  • 我刚刚遇到同样的问题。 似乎默认情况下,STL不会自动包含在NDK项目中。 这也意味着iostreamfstreamstring等不能马上使用。 要启用它们,您需要修改您的Application.mk文件。 如果你没有(在<project>/jni目录下),那么只需创build一个新的,空白的。 添加行:

     APP_STL := stlport_static 

    此外,还要记得包括using namespace std; 或者相当于一般的#include <iostream>

    你记得你的:

     #include <iostream> using namespace std; 

    在文件顶部的定义?

    (“使用名称空间标准”并不总是一个好主意,但这是一个单独的问题。)