2

Android Eclipse環境でAndroidアプリを構築しています。C++ コードをビルドし、ndk-build を使用して独立してコンパイルします。それはうまくいきます。

logcat によって突然スローされる sigsegv エラーをデバッグする必要があります。

そこで、Eclipse のプロジェクトを「Android にネイティブ コードを追加する」に切り替えました。現在、C++ コードをデバッグしていますが、ベクターなどの std コンポーネントを使用するたびにエラーが発生し、エラーが含まれているためコードを実行できません。

プロジェクトは以前の構成で正常に実行されました。私が信じている標準サポート用のライブラリを追加しました。

ネイティブ コードを適切にデバッグする方法について何か考えはありますか?

お手伝いありがとう

更新SDK、Eclipse(今回はjuno)、およびすべてのプラグを完全に再インストールしました。変化なし。エラー チェックでは、java および std 関連のものは認識されません。

#include <jni.h>
using namespace std;

赤で下線が引かれています。

残りの c++ は正しく認識されます。

更新2

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/include をパスとインクルードに追加すると、Java ステートメントが既に含まれています。ベクトルをまだネットにして、 ${NDKROOT}/sources/cxx-stl/stlport/stlport も追加しようとしましたが、ベクトルの問題はまだ修正されていません。エラー チェックが無効になっている場合、プロジェクトはコンパイルされ、シンタックス エラーが発生すると、コンパイラから警告が表示されます。それは私にとっては大丈夫です。

4

1 に答える 1

4

おそらく、最初にエラーを無効にしProject Properties|C/C++ General|Code Analysisて、プロジェクトがコンパイルされるようにすることができます。

次に、インクルード パスProject Properties|C/C++ General|Paths and Symbolsが正しいかどうかを確認できます。

また、ADT プラグインを更新すると役立つこともあると聞きました。

于 2012-07-30T14:23:28.713 に答える