-1

m trying to compile source code, but receive: undefined reference topng_read_info' 文件头:#include "PngImage.hh"

#include <png.h>

#include <cstdio>
#include <csetjmp>
#include <cstring>

我的编译器设置: -I/usr/include/libxml2 -I/usr/include/osmpbf -O0 -g3 -Wall -c -fmessage-length=0 -lpng

我做错了什么?

更新:我正在尝试链接:-I/usr/include/libxml2 -I/usr/include/osmpbf -O0 -g3 -Wall -c -fmessage-length=0 -L/usr/include/libpng -lpng

库 libpng 已安装。我再次收到没有任何变化:未定义的对 png_read_info 的引用

固定的。我的大错。我在 Eclipse 中设置编译器设置而不是链接器设置。谢谢大家的回答

4

2 回答 2

4

您没有链接到libpng. 添加-L/path/to/dir_containing/libpng -lpng到您的链接步骤。

于 2012-05-02T15:05:19.663 回答
0

当编译器找不到指向对象的链接时,您会遇到“未定义的引用”问题,因此您错过了包含或设置库路径,因此请尝试 greg 所说的并检查您是否错过了一些包含

于 2012-05-02T15:41:00.077 回答