0


ネイティブアプリケーション(cocos-2dxフレームワーク)でベクターコンテナを使用する必要があるので、追加しました

APP_STL:= stlport_static

Application.mk その後に

#include <vector>

ベクトルを使用するクラスのヘッダーファイルで変数を次のように定義します

std::vector<cocos2d::CCPoint*> *m_VertexAnchors;

そして、これを行います

m_VertexAnchors->push_back(point);

pointこれが実際CCPoint* point です。アプリを実行すると、メッセージなしで2〜3秒後に消える黒い画面が表示されます。logcatの最後のメッセージは(アプリケーション名と詳細レベルでフィルタリング)です。

04-01 13:22:57.068:D / dalvikvm(2939):GC_EXTERNAL_ALLOCが64Kを解放、47%が2887K / 5379Kを解放、外部0K / 0K、40msを一時停止

また、ライブラリのロードに関するメッセージの前にエラーは発生しません。そして、メインログには何も奇妙なものは見られませんでした。それから私がコメントアウトしたとき

m_VertexAnchors->push_back(point);

アプリは正常に動作します。

だから、私が見逃したものはありますか?これをデバッグする方法がない場合(私はEclipseとsequoyahプラグインを使用しています)

助けや提案をいただければ幸いです。

4

1 に答える 1

0

使用する前m_vertexAnchorsに、正しく初期化する必要があります。

m_VertexAnchors = new std::vector<cocos2d::CCPoint*>();

delete不要になったときは覚えておく必要があります。

動的に割り当てることを回避できる場合は、次のようにvector宣言します。

std::vector<cocos2d::CCPoint*> m_VertexAnchors;

そしてそれを使用します:

m_VertexAnchors.push_back(point);
于 2012-04-01T12:01:52.603 に答える