0

誰かの Palm Pilot コードを Android アプリケーションに変換しています。これには、NDK を使用して、既にビルドされているライブラリの 1 つから読み取ることが含まれます。このために、いくつかの新しい関数を作成する必要があります。

void __stdcall FreeRelay(void){
    RelayAPI_DataValid=0;
    RelayAPI_SetBaud=0;
    RelayAPI_get=0;
    RelayAPI_put=0;
    RelayAPI_flush=0;
    RelayAPI_delay=0;
    RelayAPI_initilized=0;
}

void Java_my_MainMenu_FreeRelayJava( JNIEnv * env, jobject this ) {
    RelayAPI_DataValid = 0;
    RelayAPI_SetBaud = 0;
    RelayAPI_get = 0;
    RelayAPI_put = 0;
    RelayAPI_flush = 0;
    RelayAPI_delay = 0;
    RelayAPI_initilized = 0;
}

さて、私のエラーは 2 番目のメソッドの最後の行にあります。私はもともとそれを綴っていましたがRelayAPI_initialized、それが正しいことは知っていますが、タイプミスのためにこのCコードをすべて変更するという面倒なことはしていません。関数を古いコードに適合させます。とにかく、私はこれを試しndk-buildてみました。

ここに画像の説明を入力

これらの個別のndk-build呼び出しの間に、エラーを修正しました。しかし、615行目で処理中にエラーが発生したことをまだ伝えていますが、そこにはありRelayAPI_initializedません。何が起こっているのかわかりませんし、C についてもほとんど知りません。更新された情報でファイルを保存し、ndk-build. 何が足りないの?

4

2 に答える 2

1

多分あなたはRelayAPI_*のような他の変数がいくつかのcコードまたはヘッダーファイルでグローバルに定義されているかどうかを見つけるためにgrepすることができます。そうでない場合は、定義するか、設定しないでください。

コンパイルエラーは解決しますが、おそらく機能しません

于 2012-07-31T14:04:07.133 に答える
0

ビルドをきれいにします。そのため、パーティーで作成されたものは削除され、完全に再構築されます。

于 2012-07-31T14:01:05.350 に答える