Проблема собрать NDK с C ++ в Android - PullRequest
7 голосов
/ 02 марта 2011

В настоящее время я работаю с Android NDK и JNI. Я пытаюсь построить код C ++ с NDK.

Но я получил следующие ошибки:

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                 

Может кто-нибудь помочь мне?

Ответы [ 2 ]

11 голосов
/ 04 апреля 2011

Я только что столкнулся с той же проблемой.Похоже, STL автоматически не включается в проекты NDK по умолчанию.Это также означает, что iostream, fstream, string и т. Д. Нельзя использовать сразу.Чтобы включить их, вам нужно изменить файл Application.mk.Если у вас его нет (он находится в каталоге <project>/jni), просто создайте новый, пустой.Добавьте строку:

APP_STL := stlport_static

Кроме того, также не забудьте включить using namespace std; или эквивалентный, наряду с обычными #include <iostream> и т. Д.

0 голосов
/ 02 марта 2011

Вы помните свой:

#include <iostream>
using namespace std;

определения вверху файла?

(«использование пространства имен std» не всегда хорошая идея, но это отдельная проблема.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...