我正在尝试将以下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>>>)
'
我尝试了here的建议,但没有帮助。相反,现在我收到了#include <fstream>
的新消息:
Unresolved inclusion: <fstream>
我需要做些什么来解决这个问题?谢谢。
更新:我正在尝试将这段代码添加到构建并运行良好的Android项目中的现有C ++代码中。当我应用上面链接的更改时,我不仅得到了fstream的unresolved inclusion
,还有一堆其他错误。例如,对于以下块,形成现有代码:
#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/features2d/features2d.hpp>
#include <vector>
我也遇到Unresolved inclusion
错误。所以它让事情变得更糟。
答案 0 :(得分:0)
尝试将以下行添加到项目的Application.mk
。
APP_STL := gnustl_static