NDK编译错误 - <string> </string>的问题

时间:2013-11-25 20:43:12

标签: android c++ android-ndk

我继续编译遗留代码的问题。

pcc_core.cpp

1        #include "pcc_core.h"
         (...)

386      std::string lowerFnName = CommonTools::Lowercase(userFunctionNode->GetFnName());
387          for (unsigned int i = 0, i_max = callStack->size(); i < i_max; i++)
388              if (CommonTools::Lowercase((*callStack)[i]) == lowerFnName)
389                  throw RuntimeException(PROCALC_ERROR_RUNTIME_RECURRENCY_NOT_ALLOWED, userFunctionNode->GetExpressionPos());

pcc_core.h

#ifndef __PCC_CORE_H__
#define __PCC_CORE_H__

#include <string>
(...)

错误消息

In file included from D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include/bits/c++allocator.h:33:0,
                 from D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/allocator.h:46,
                 from D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/string:41,
                 from D:/Dokumenty/Dev/Android/ProCalc//jni/pcc_core.h:4,
                 from D:/Dokumenty/Dev/Android/ProCalc//jni/pcc_core.cpp:1:
D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/new_allocator.h: In instantiation of 'struct __gnu_cxx::new_allocator<const std::basic_string<char>>':
D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/allocator.h:92:11:   required from 'class std::allocator<const std::basic_string<char> >'
D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/alloc_traits.h:90:43:   required from 'struct std::allocator_traits<std::allocator<const std::basic_string<char> > >'
D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/alloc_traits.h:121:10:   required from 'struct __gnu_cxx::__alloc_traits<std::allocator<const std::basic_string<char> > >'
D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/stl_vector.h:75:28:   required from 'struct std::_Vector_base<const std::basic_string<char>, std::allocator<const std::basic_string<char> > >'
D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/bits/stl_vector.h:210:11:   required from 'class std::vector<const std::basic_string<char> >'
D:/Dokumenty/Dev/Android/ProCalc//jni/pcc_core.cpp:387:48:   required from here

D:/Android/ndk/sources/cxx-stl/gnu-libstdc++/4.8/include/ext/new_allocator.h:93:7: error: 'const _Tp* __gnu_cxx::new_allocator<_Tp>::address(__gnu_cxx::new_allocator<_Tp>::const_reference) const [with _Tp = const std::basic_string<char>; __gnu_cxx::new_allocator<_Tp>::const_pointer = const std::basic_string<char>*; __gnu_cxx::new_allocator<_Tp>::const_reference = const std::basic_string<char>&]' cannot be overloaded
   address(const_reference __x) const _GLIBCXX_NOEXCEPT
   ^

说实话,我不知道,从哪里开始。我该如何阅读此错误?实际问题是什么?

0 个答案:

没有答案