& quot; Неверные аргументы & quot; при портировании кода C ++ на Android

Я пытаюсь перенести следующий фрагмент кода C ++ на Android как часть работы NDK:

#include <fstream>

// ...

inline void trim(string & str, const string & delim = " \t\r\n")
{
string::size_type pos = str.find_last_not_of(delim);
if(pos == string::npos) str.erase(str.begin(), str.end());
else
{
str.erase(pos+1);
pos = str.find_first_not_of(delim);
if(pos != string::npos) str.erase(0, pos);
}
}

Я получаю следующее сообщение на str.erase(pos+1); а также str.erase(0, pos):

Invalid arguments '
Candidates are:
std::basic_string<char,std::char_traits<char>,std::allocator<char>> & erase(?, ?)
__gnu_cxx::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>    erase(__gnu_cxx::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>)
__gnu_cxx::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>     erase(__gnu_cxx::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,     __gnu_cxx::__normal_iterator<char *,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>)
'

Я попробовал то, что было предложено Вот но это не помогло. Вместо этого теперь я получаю новое сообщение для #include <fstream>:

Unresolved inclusion: <fstream>

Что мне нужно сделать, чтобы решить эту проблему? Спасибо.

ОБНОВЛЕНИЕ: я пытаюсь добавить этот кусок кода в существующий код C ++ в проекте Android, который работал и работал нормально. Когда я применил изменение, указанное выше, я не только получил unresolved inclusion для fstream я также получил кучу других ошибок. Например, для следующего блока сформируйте существующий код:

#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/features2d/features2d.hpp>
#include <vector>

Я тоже получаю Unresolved inclusion ошибки. Так что все стало хуже.

0

Решение

Попробуйте добавить следующую строку в Application.mk вашего проекта.

APP_STL := gnustl_static
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]