0

フルサイズのデスクトップで QT Creator を使用して、qt アプリを開発およびコンパイルし、それらを pi にデプロイできるようにしたいと考えています。

このガイドに従いました: http://qt-project.org/wiki/Create#QtonPi_App_SDK

hello-qtonpi プロジェクトをコンパイルしようとしています。コンパイラと pi のツールチェーンを使用すると、コンパイル中に次の 2 つのエラーが発生します。

/opt/qtonpi/lib/gcc/armv5tel-qtonpi-linux-gnueabi/4.5.4/../../../../armv5tel-qtonpi-linux-gnueabi/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
/opt/qtonpi/libexec/gcc/armv5tel-qtonpi-linux-gnueabi/4.5.4/cc1plus: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

これら 2 つのライブラリが pi にインストールされていることと、rsync された /lib と /usr/lib が pi から sys-root フォルダーにインストールされていることを確認しました。

QT Creators Add Library -> System Library ツールを使用してみましたが、so.1 が表示されなかったので、libz.so などを選択しました。.pro ファイルに次の行を追加しました。

unix:!macx:!symbian: LIBS += -lz

しかし、それでもエラーは解消されませんでした。

これらのライブラリをどのようにインクルードするか、またはどこから探すべきかをコンパイラに伝える必要がありますか?

4

1 に答える 1

1

libz と libmpc に関する両方のエラー メッセージは、ターゲット ライブラリの欠落ではなく、ホスト部分に関連しています。

クロス コンパイル ツールチェーンは動的なものとして構築されているため、依存関係を解決するすべてのライブラリをホスト上に置く必要があります。

libz.so.1 は非常に一般的であるため、64 ビットのホストを実行しているのに、ツールチェーンが 32 ビット用にビルドされている可能性があります。この場合、libz.so.1 と libmpc.so.2 の 32 ビット バージョンを提供するパッケージを見つける必要があります。

于 2012-10-14T16:07:36.307 に答える