[英]Android NDK and C++ STL
在为iOS项目编译我的C ++时,所有进展都很顺利。 但是,我在Android上遇到了困难。
我的Application.mk读取:
APP_ABI := armeabi armeabi-v7a
APP_PLATFORM := android-11
APP_STL := stlport_shared
所有LOCAL_SRC_FILES都已定义。
当我尝试构建我的模块时,我得到以下编译器错误:
jni/Game.hpp: In member function 'const std::pair<pos, Obj*>* MyEnumerator::next()':
jni/Game.hpp:126:23: error: expected type-specifier
jni/Game.hpp:126:23: error: cannot convert 'int*' to 'std::pair<pos, Obj*>*' in assignment
jni/Game.hpp:126:23: error: expected ';'
上面提到的代码行如下:
this->ptr = new pair<pos, Obj*>::pair(it->first, it->second);
这里, ptr
是对类型pair<pos, Obj*>*
而pos
是结构。 我已声明using std::pair;
。
关于什么是错的任何提示,以及尝试什么?
尝试将行更改为:
this->ptr = new std::pair<pos, Obj*>(it->first, it->second);
恕我直言,失去使用指令并使用完全限定名称。 它干净,精确,不允许命名碰撞。 如果必须使用它们,请不要在头文件中使用它们,只在实现文件中使用它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.