私は組み込みシステムにnoobです。私はARM9を使ったキット、TS-7390を使って作業しています。 私はそれのためのアプリケーションをコンパイルすることができました。私の質問は、共有ライブラリを使用してコンパイルする方法です。私はホストに図書館を持っている必要がありますか?共有ライブラリを使用したクロスコンパイル
1
A
答えて
3
共有ライブラリの使用方法によって異なります。共有ライブラリが常にリンクされているかのようにアプリケーションがライブラリでコンパイルされている場合は、ホスト上で共有ライブラリが必要になります。共有ライブラリーがdlopen
を介して動的にロードされている場合は、そのライブラリーをホスト上に置く必要はありません。どちらの場合も、ターゲット上のライブラリも必要です。
1
また、アプリケーションをクロスコンパイルする前に共有ライブラリをクロスコンパイルする必要があります。
2
要約:はい。
理由を説明しましょう。クロスコンパイル環境をセットアップするときは、コンパイラーのリンク時にすべてのシンボルが解決されるかどうかをチェックするため、ヘッダーファイルとライブラリーの両方を使用可能にする必要があります。
あなたが想像しているように、プログラムがlibcだけを使用していないと、クロスコンパイラでは不十分です。この場合、すべての必要なファイル(ヘッダ、ライブラリなど)がある場所も必要です。すべての依存関係を扱うには時間がかかることがありますので、何らかのツールやディストリビューションを使用するのが望ましいことがよくあります。
たとえば、私はOpenEmbeddedを使用していますが、これは学習に時間がかかりますが、ライブラリを扱う際には大いに役立ちます。
関連する問題
- 1. 共有ライブラリのpstack(c/C++)。破損した共有ライブラリ
- 2. 共有ライブラリ用語
- 3. Websphere:デプロイメント記述子を使用した共有ライブラリの設定
- 4. CMake:静的ライブラリを使用する共有ライブラリ
- 5. 共有ライブラリApp.Config
- 6. Websphere共有ライブラリ
- 7. Cythonを使用してPythonを共有ライブラリにリンクする
- 8. c/C++で書かれた共有ライブラリを使用したLinux Cプログラム
- 9. 共有ライブラリ、ライブラリ依存性
- 10. スタティックライブラリエフェクトメモリの代わりに共有ライブラリを使用しますか?
- 11. g ++未定義シンボル共有ライブラリを使用しているエラー
- 12. サードパーティのアプリケーションを使用しない共有ライブラリへのバックトレース
- 13. クロスコンパイルのライブラリ(armel)
- 14. gdbを使用して共有ライブラリを使用してサードパーティの機能にアクセス
- 15. 共有テキスト+インテントを使用したリンク
- 16. std :: shared_ptrを使用した共有データクラス
- 17. Eclipseを使用したソースコードの共有
- 18. UIActivityViewControllerを使用したオーディオファイルの共有
- 19. インラインアセンブラを使用したGCCの共有ライブラリからの呼び出し関数
- 20. Mavenと共有ライブラリ
- 21. Java EE共有ライブラリ?
- 22. Cmake:リンク共有ライブラリ
- 23. オプションの共有ライブラリ
- 24. 共有ライブラリのファイルサイズ
- 25. 共有ライブラリのMakefile?
- 26. NLog、Elmah +共有ライブラリ
- 27. gdbserverで共有ライブラリをデバッグ
- 28. ELF用のプロキシ共有ライブラリ(sharedlib、shlib、so)?
- 29. 利用できない共有ライブラリcom.google.android.maps
- 30. 利用できない共有ライブラリcom.android.hardware.usb