http://gnuwin32.sourceforge.net/packages/libpng.htmから libpng のWindows版をダウンロードして、Visual Studioで使おうとしたんですが、デバッグ版がpng_read_info()でアクセス違反でクラッシュしてしまいました。リリース版だと動きます。
0xC0000005: Access violation
どうやらプロジェクト設定 > C/C++ > コード生成 > ランタイムライブラリがMulti-threaded DLLでないとクラッシュするということがわかりましたが、これだとデバッグ版で_Crt~のシンボルが見つからなくてビルドが通らなくなってしまったので、最終的にlibpngを自分でMulti-threaded Debug DLLでビルドして、動くようになりました。
ビルド手順は省きますが、Visual Studioのソリューションもパッケージに含まれているので、zlibのパスを正しく設定すれば、簡単にビルドできました。
libpngとそのバージョンで使われているzlibをダウンロードしてきて、それぞれを並列のディレクトリに展開して、Visual Studioソリューションを開いてビルドすればOKでした。