我刚刚开始使用ndk-r5,我需要导入一个库
使用std :: numeric_limits,std :: sort和stl中的其他两个函数。

我不确定使用stlport是否支持这些功能,如果是这种情况,
我应该使用配置进行构建吗?
我从文档中读到的是,您必须在Application.mk上包含APP_STL:= stlport_static。多数民众赞成在我做的唯一的另一件事,但它无法正常工作,当编译器在提到的功能,我得到编译错误。

感谢您的任何建议。

最佳答案

通过用替换所有包含的内容,并修复了一些会出现的问题,我得以在Android上编译Box2D。
对于

std::numeric_limits::infinity()


我在用着

INFINITY /*as defined in float.h ... MAX_FLT is an alternative which might work*/


对于

std::sort(m_pairBuffer, m_pairBuffer + m_pairCount, b2PairLessThan)


我这样做:

#include <stdlib.h>
/*...*/
qsort(m_pairBuffer, m_pairCount, sizeof(b2Pair),b2PairQSORTLessThan);


具有上面定义的功能:

static int b2PairQSORTLessThan(const void*element1,const void*element2)
{
b2Pair *pair1=(b2Pair*)element1;
b2Pair *pair2=(b2Pair*)element2;

if (pair1->proxyIdA < pair2->proxyIdA)
    return -1;//pair1 goes BEFORE pair2
else if (pair1->proxyIdA > pair2->proxyIdA)
    return 1; // pair1 goes AFTER pair2
else{//if (pair1->proxyIdA == pair2->proxyIdA)
    if (pair1->proxyIdB < pair2->proxyIdB)
        return -1;
    else if (pair1->proxyIdB > pair2->proxyIdB)
        return 1;
}

return 0; // they are equal

}

10-05 17:47