2

arm-gcc コンパイラを使用してコンパイルされる AC コードで string.h ヘッダー ファイルを使用し、生成された実行可能ファイルは Android デバイスで実行されます。実行可能ファイルをデバイスにプッシュして実行すると、リンケージ エラーが表示されました。そのようなデバイスで string.h の関数を使用するにはどうすればよいですか? これらのヘッダー ファイルはハードウェア固有のものですか?

4

2 に答える 2

1

ARM EABI は、ANSI C ライブラリのヘッダー ファイルは、ライブラリの提供元とは関係なく、コンパイラによって提供される必要があると述べています。ただし、クロスコンパイルする場合はstring.h、ネイティブ システムからではなく、コンパイラに付属の を使用することを確認する必要があります。どのリンクエラーが発生しましたか?

strstrにが欠けているように聞こえますがlibc、これは奇妙に聞こえますが、説明がありません。デバイス上のライブラリにアクセスできる場合は、たとえばobjdump -t、定義されているかどうかを確認しますstrstr

于 2013-05-28T18:21:20.270 に答える
0

そのようなデバイスで string.h の関数を使用するにはどうすればよいですか?

過去に私のために働いていました。

これらのヘッダー ファイルはハードウェア固有のものですか?

NDK ツールでは、アーキテクチャとプラットフォーム (Android 8、Android 14 など) に固有です。

NDK に重大なバグがない限り (可能性は低いと思われます)、ビルドをもう一度確認することをお勧めします。

于 2013-05-28T19:28:10.327 に答える