在Android中使用C++构建NDK的问题

Bab*_*aba 7 java-native-interface android

目前我正在使用Android NDK和JNI.我正在尝试使用NDK构建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                 
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

War*_*ace 11

我刚遇到同样的问题.似乎STL默认情况下不会自动包含在NDK项目中.这也意味着iostream,fstream,string等不能马上使用.要启用它们,您需要修改Application.mk文件.如果你没有(它在<project>/jni目录中),那么只需创建一个新的空白.添加行:

APP_STL := stlport_static
Run Code Online (Sandbox Code Playgroud)

此外,还记得包括using namespace std;或等同,以及通常的#include <iostream>等.