【发布时间】:2017-02-05 15:44:56
【问题描述】:
我从它们包含的用于 MinGW/msys 的 makefile 的源代码中安装了 libpng 的 1.2、1.4 和 1.6 版本。它似乎有效 - 我在各个地方都有头文件:
- /包括
- /include/libpng
- /include/libpng12
- /include/libpng14
- /本地/包括
- /local/include/libpng
- /local/include/libpng16
还有库文件:
- /lib/libpng.a
- /lib/libpng.dll.a
- /lib/libpng12.a
- /lib/libpng12.dll.a
- /lib/libpng14.a
- /lib/libpng14.dll.a
- /local/lib/libpng.a
- /local/lib/libpng.dll
- /local/lib/libpng16.a
- /local/lib/libpng16.dll
我用 msys 的 bash 调用配置脚本,无论我提供什么包含目录和库的组合,它都会在同一个地方阻塞。 Config.log 给了我以下信息:
configure:7732: checking png.h usability
configure:7732: gcc -c -g -O2 -I/local/include conftest.c >&5
configure:7732: $? = 0
configure:7732: result: yes
configure:7732: checking png.h presence
configure:7732: gcc -E -I/local/include conftest.c
configure:7732: $? = 0
configure:7732: result: yes
configure:7732: checking for png.h
configure:7732: result: yes
configure:7761: checking for png_write_row in -lpng
configure:7786: gcc -o conftest.exe -g -O2 conftest.c -lpng -I/local/include /local/lib/libpng.a -lz >&5
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lpng
collect2.exe: error: ld returned 1 exit status
我已经尝试了上面列出的包含目录和库的所有组合,每次都是一样的。会是
configure:7786: gcc -o conftest.exe -g -O2 conftest.c -lpng -I/include/libpng /lib/libpng.dll.a -lz >&5
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lpng
或
configure:7786: gcc -o conftest.exe -g -O2 conftest.c -lpng -I/local/include/libpng16 /local/lib/libpng16.dll -lz >&5
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lpng
或
configure:7786: gcc -o conftest.exe -g -O2 conftest.c -lpng -I/include/libpng12 /lib/libpng12.a -lz >&5
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lpng
你明白了。我已经成功编译了其他几个不需要 libpng 的 xpdf 片段。但在这里,我完全不知所措。
【问题讨论】:
标签: c++ windows gcc mingw libpng