我从他们为MinGW / msys包含的makefile中安装了来自libpng的1.2,1.4和1.6版本。它似乎工作 - 我已经在各个地方获得了头文件:
以及库文件:
我用msys的bash调用configure脚本,无论include目录和库的组合是什么,它都会在同一个地方窒息。 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
我已尝试过上面列出的include目录和库的每个组合,并且每次都是相同的。它将是
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片段。但在这里,我完全失去了。
答案 0 :(得分:0)
试试这个:
png.h
标头与Cygwin目标的png.h
标头不兼容。)mingw64-*-libpng
包不提供静态libpng.a
库,这是不常见的。)例如,对于64位版本:
$ export CC=x86_64-w64-mingw32-gcc
$ export CXX=x86_64-w64-mingw32-g++
$ export PATH="/usr/x86_64-w64-mingw32/sys-root/mingw/bin:$PATH"
$ export CFLAGS="-L/usr/x86_64-w64-mingw32/sys-root/mingw/lib -I/usr/x86_64-w64-mingw32/sys-root/mingw/include -lpng -Wl,Bdynamic"
$ export CXXFLAGS="$CFLAGS"
$ which libpng-config
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libpng-config
$ ./configure
编辑:在编译时将redist文件夹添加到PATH,其中包含libpng.dll文件,是适用于Cygwin和MSYS环境的重要非显而易见的步骤。