2012-05-13 8 views
0

私はアーム組み込みシステムにクロスコンパイルしていて、私には質問があるというエラーを受け取ります。ここにエラーがあります:ライブラリを見つけるためのldルックアップ

[ 19%] Built target cxjpeg-6b 
Linking CXX shared library /home/botbear/JAUS++-2.110519- src/libraries/jaus++/2.0/lib/libcxutils.so 
/home/botbear/openwrt/trunk/staging_dir/toolchain-arm_v6k_gcc-linaro_uClibc- 0.9.32_eabi/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.5.4/../../../../arm-openwrt-linux- uclibcgnueabi/bin/ld: cannot find -lpng 
collect2: ld returned 1 exit status 
make[2]: *** [/home/botbear/JAUS++-2.110519-src/libraries/jaus++/2.0/lib/libcxutils.so]  Error 1 
make[1]: *** [libcxutils/CxUtils/libcxutils/CMakeFiles/cxutils.dir/all] Error 2 
make: *** [all] Error 2 

「libpng」という名前の静的ライブラリを探しています。 libpng lib。に加えて、-lスイッチを使用してsub-makeファイル内の次のライブラリにリンクするコマンドは、-lpng -lz -lX11 -lXtst -lpthread -Wlです。すべてのライブラリ(libpng、libz、libX11など)は、私のホストの/ usr/lib /ディレクトリにありますが、ターゲットツールチェーンにはライブラリがありません。私の質問は、手動で私の問題を解決したターゲットコンパイラでライブラリを再コンパイルする場合ですか?あるいは、ターゲットプラットフォーム用の各ライブラリのパッケージを見つけてインストールするつもりです。

ありがとうございます。

+0

。しかし、X11を再コンパイルするのは簡単な作業ではありません。 –

+0

ターゲットアーキテクチャ用にコンパイルされたすべての依存関係が必要です。 – juanchopanza

答えて

0

ターゲット用にコンパイルしたように見えるので、ターゲットライブラリが必要です。自分でコンパイルするか、ツールチェーン開発環境から提供します(もしあれば)。後者は通常、頭痛を軽減します(必要に応じてクロスコンパイルとパスの設定)。

openwrtツールチェーンを使用しています。 Openwrtはパッケージとしてlibpngを持っているようです。私は可能な限りそのことに行きます。

+0

ありがとう!私はlibパッケージを探します。 –

関連する問題