All prebuilt libraries are available in the php-libs repositories
For PHP suitable sources and up-to-date information see https://github.com/winlibs/libpng
The filename format is:
libpng-x.y.z-vcversion-asm.zip
where x.y.z defines the version, vcversion which Visual C++ has been used and -asm tells if the ASM optimizations have been used or not (see the options below).
LibPNG can be compiled using various modes. Only the following list can be used with PHP:
PHP uses “libpng - Win32 LIB ASM Release” and “libpng - Win32 LIB ASM Debug” respectively for the normal and debug PHP builds
One of these option has to be used while calling the makefile.
The ASM versions do not work yet with Visual C++ 8 (VS2005) or later. We did not have the time to fix the .asm files. Contributions welcome (both for php and for the libpng project).
Download the libpng Makefile and dep file and remove the .txt extension.
This step describe the process for Visual C++ 6. It should work for 2k3/5/8 as well but it is not yet tested. However you can use the VC7.1 project files in the libpng archive if the libpng.mak fails.
Copy the make file to the project\vc6 directory To compile libpng, simply go to th proj==ects directory of the libpng source and run:
cd c:\build_php_deps\libpng1229\projects\ nmake /f libpng.mak CFG="libpng - Win32 LIB Release" PHP_SDK_PATH="c:\php_sdk\"
If the Platform has changed between two different builds (win32 to x64 or x64 to win32), it is necessary to clean the builds before building a dllor a lib. If the objs have been built for a different platform you will get a linker error (machine does not match).
To be written