Android ndk-r5调用std::函数
我刚刚开始使用 ndk-r5,我需要导入一个库 使用 std::numeric_limits、std::sort 和 stl 中的其他几个函数。
我不确定使用 stlport 是否支持这些功能,如果是这样的话,什么 我应该使用配置来构建? 我从文档中读到的是,您必须在 Application.mk 上包含 APP_STL := stlport_static 。这是我正在做的唯一额外的事情,但它不起作用,当编译器使用上述函数时,我会收到编译错误。
感谢您的任何建议。
i'm just starting to use the ndk-r5 and i need to import a library that
uses std::numeric_limits, std::sort and a couple of more functions from stl.
i'm not sure is those functions are supported using the stlport and if that is the case, what
configuration should i use for building?
what i read from the docs is that you have to include APP_STL := stlport_static on the Application.mk. thats the only additional thing i'm doing but its not working, i get compilation errors when the compiler is on the mentioned functions.
Thanks for any suggestions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
通过替换所有的,我能够在 Android 上进行 Box2D 编译。包含,并修复一些突然出现的问题:
因为
我正在使用
For
I did this:
使用上面定义的这个函数:
I was able to get Box2D compiling on android, by replacing all of the <cheader> includes with <header.h>, and fixing up a few things which crop up:
For
I'm using
For
I did this:
with this function defined above:
这里有很多可能性,您需要发布编译器错误以获得更好的评估。
需要检查的事项:
您是否使用
num_get_float.cpp
中的任何内容?There are a lot of possibilities here, you'll need to post your compiler errors for a better assessment.
Things to check:
Are you using anything from
num_get_float.cpp
?实际上,我可以使用 C 等效项(例如使用 std:: 命名空间调用的数学函数)来解决大多数错误,唯一导致我出现问题的两个是:
(1) numeric_limits 不是“std”的成员,在:
float32 无穷大 = std::numeric_limits::infinity();
以及“排序”的相同类型错误,在:
(2) std::sort(m_pairBuffer, m_pairBuffer + m_pairCount, b2PairLessThan);
我想我可以使用另一个函数来代替这两个函数。我可以使用什么标准 var 来表示无穷大?
Actually most of the errors i can solve them with a C equivalent (like math functions that were called with the std:: namespace) the only two that are causing me problems are:
(1) numeric_limits is not a member of 'std', in:
float32 infinity = std::numeric_limits::infinity();
and the same kind of error for 'sort', in:
(2) std::sort(m_pairBuffer, m_pairBuffer + m_pairCount, b2PairLessThan);
i suppose that i can use another functions to replace these two. what standard var can i use for infinity?