2011-01-19 5 views
0

私はちょうどndk-r5を使い始めています。 がstd :: numeric_limits、std :: sortとstlからいくつかの関数を使用するライブラリをインポートする必要があります。Android ndk-r5 std :: functionsを呼び出す

stlportを使用してこれらの機能がサポートされているかどうかわかりません。その場合は、私が構築に使用するコンフィグレーションは何ですか? 私がドキュメントから読んだのは、Application.mkにAPP_STL:= stlport_staticを含める必要があるということです。それは私がやっている唯一の追加のことだけど、動作していない、私はコンパイラが上記の関数にあるときにコンパイルエラーを取得します。

ありがとうございます。

+0

は、コンパイルエラーが何を言う:この機能を持つ

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

は、上記で定義されましたか? –

答えて

0

ここでは多くの可能性がありますが、より良い評価のためにコンパイラのエラーを投稿する必要があります。

確認する内容: num_get_float.cppから何かを使用していますか?実際

+0

こんにちは、それを使用していないbrandom。 –

0

私は(STDと呼ばれた数学関数のような::名前空間)Cと同等でそれらを解決することができ、エラーの最も私に問題を引き起こしている2つだけである:

(1)のnumeric_limitsがあります'std'のメンバーではありません: float32 infinity = std :: numeric_limits :: infinity();

と同じ種類のエラー 'sort'の場合: (2)std :: sort(m_pairBuffer、m_pairBuffer + m_pairCount、b2PairLessThan);

私はこれらの2つを置き換えるために別の関数を使うことができると思います。私は無限大のためにどのような標準のvarを使用できますか?

1

私は>が<がheader.h >、および作物アップいくつかの物事を固定して含まれて< cheaderのすべて交換することにより、BOX2Dは、Android上でコンパイル取得することができた:

std::numeric_limits::infinity() 
については

Iを「

std::sort(m_pairBuffer, m_pairBuffer + m_pairCount, b2PairLessThan) 
について

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

を用いたM

私はこれでした:

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 

} 
関連する問題