致命错误:png.h:没有这样的文件或目录(MiddleBury Evaluation)

时间:2016-08-23 08:32:07

标签: makefile cygwin

我在MiddleBury立体声评估中测试立体声算法

其中一步是在代码/中编译工具,如下所示。

cd code/imageLib
make
cd ..
make
cd ..

在这种情况下,首先make出现如下错误,

$ make
g++  -O3 -W -Wall -g  -c -o ImageIOpng.o ImageIOpng.cpp
ImageIOpng.cpp:19:17: fatal error: png.h: No such file or directory
compilation terminated.
make: *** [<builtin>: ImageIOpng.o] Error 1

,关于第二个make

$ make
g++  -g -O3 -W -Wall -IimageLib   ii.cpp  -LimageLib -lImg.i686-g -lpng -lz -o ii
/usr/lib/gcc/i686-pc-cygwin/5.4.0/../../../../i686-pc-cygwin/bin/ld: cannot find -lImg.i686-g
/usr/lib/gcc/i686-pc-cygwin/5.4.0/../../../../i686-pc-cygwin/bin/ld: cannot find -lpng
collect2: error: ld returned 1 exit status
make: *** [<builtin>: ii] Error 1

在上一步中,make运行良好。 那么,问题是什么?我下载了示例算法,没有编辑/更改任何文件中的内容。

1 个答案:

答案 0 :(得分:1)

png.h是libpng16-devel的一部分,具体包括 必须将目录添加到项目的包含路径中。

$ cygcheck -l libpng16-devel |grep png.h
/usr/include/libpng16/png.h