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