【发布时间】:2012-02-17 14:33:49
【问题描述】:
我正在尝试安装 pngnq,它依赖于 libpng >= 1.2.8。我已经通过./configure、make、sudo make install 安装了libpng 1.5.7(没有问题),因为软件中心的libpng 版本太旧了。我现在正在尝试通过./configure、make、sudo make install 安装pngnq(同样,因为软件中心版本太旧了),但在我认为与错误消息相关的make 步骤上卡住了到libpng 链接。错误消息的一小部分示例:
undefined reference to `png_destroy_write_struct'
undefined reference to `png_convert_from_time_t'
undefined reference to `png_set_PLTE'
我在 Linux 上手动安装软件的经验有限,因此我不确定下一步是什么来诊断问题。我已经进行了大量搜索,但还没有真正找到针对我遇到的问题的任何内容。根据关于类似问题的论坛帖子,我在/usr/local/lib 目录上做了一个ls 并发现:
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'
【问题讨论】:
-
你能解决这个问题吗?我在编译 pngnq 时遇到了同样的问题。
-
@ColinO'Dell 自从我看到这个以来已经很久了,但我很确定我放弃了并改用 Mac 机器上的版本。
标签: linker undefined-reference libpng