Кажется, что собственная упаковка Libpng предоставляет файлы проекта для vc6 и VC7.1 (VS2003). Более поздние выпуски также поставляются с файлами проекта VC10. Но ничего для VC8 (VS2005) или VC9 (VS2008). Однако здесь есть инструкции (которые я еще не попробовал), которые описывают сборку в 2008 году после запуска файлов проекта 7.1 с помощью мастера преобразования.
Первоначально я попробовал GnuWin32 сборку libpng , но (кроме 32-битного) он потерпел крах при вызове libpng для fwrite при передаче FILE * из CRT VS2008. В собственной документации libpng есть что сказать об этом и об опасностях смешивания различных версий MSVC, но предлагаемый ими способ работы имеет отношение только к прямым пользователям libpng (и я использую его через boost GIL).
Обновление: преобразованные файлы проекта работают довольно хорошо (возможно, некоторые незначительные очевидные исправления). Безусловно, большая часть работы заключалась в создании 64-битных сборок; исходные и преобразованные файлы проекта не включают в себя такую конфигурацию, и, хотя Visual Studio приложит все усилия для их создания, было достаточно много настроек для редактирования диалогов, чтобы получить согласованные имена папок / файлов и т. д.