2

libpng >= 1.2.8に依存するpngnqをインストールしようとしています。Software Center のバージョンが古すぎたので、、、経由で1.5.7 を(問題なく)インストールしました。, ,経由でインストールしようとしています( Software Center のバージョンが古すぎるため) 。エラー メッセージの小さなサンプル:libpng./configuremakesudo make installlibpngpngnq./configuremakesudo make installmakelibpng

undefined reference to `png_destroy_write_struct'
undefined reference to `png_convert_from_time_t'
undefined reference to `png_set_PLTE'

Linux にソフトウェアを手動でインストールした経験が限られているため、問題を診断するための次のステップが何なのかよくわかりません。かなりの検索を行いましたが、私が抱えている問題を対象としたものは実際には見つかりませんでした. 同様の問題に関するフォーラムの投稿に基づいて、ディレクトリで実行ls/usr/local/libたところ、次のことがわかりました。

libpng15.a   libpng15.so.15   libpng.la   libpng15.la  
libpng15.so.15.7.0   libpng.so   libpng15.so   libpng.a

ただし、それが実際に特定の問題の診断/除外に役立つかどうかはわかりません。Linux でコードをコンパイルした私の最小限の経験を踏まえて、何が間違っているのか誰かアドバイスできますか?

編集:

make要求に応じて、呼び出しで始まるトレースのサンプルを次に示します。

bryce@whatever:~/Downloads/pngnq-1.1$ make
Making all in src
make[1]: Entering directory `/home/bryce/Downloads/pngnq-1.1/src'
make  all-am
make[2]: Entering directory `/home/bryce/Downloads/pngnq-1.1/src'
gcc `libpng-config --I_opts` -Wall --pedantic -std=gnu99 -g -O2 `libpng-config 
--ldflags` -lz  -o pngnq pngnq.o neuquant32.o rwpng.o  -lm -lz 
pngnq.o: In function `pngnq':
/home/bryce/Downloads/pngnq-1.1/src/pngnq.c:518: undefined reference to `png_get_gAMA'
4

1 に答える 1

0

インクルードがライブラリと一致しないように聞こえます。/usr/include に png.h があるかどうか、または /usr/lib/ に libpng* があるかどうかを再確認してください。

エラーが表示される前に表示される gcc 行も表示します。それは問題を指摘しているかもしれません。

于 2012-01-24T10:36:14.160 に答える