NDK 作業の一環として、次の C++ コードを Android に移植しようとしています。
#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>
これを解決するにはどうすればよいですか? ありがとうございました。
更新: このコードを、ビルドして正常に実行された Android プロジェクトの既存の C++ コードに追加しようとしています。上記にリンクされている変更を適用すると、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
エラーも発生しています。それで事態はさらに悪化しました。