1 2VisualStudio instructions 3 4libpng version 1.6.10 - March 6, 2014 5 6Copyright (c) 1998-2010 Glenn Randers-Pehrson 7 8This code is released under the libpng license. 9For conditions of distribution and use, see the disclaimer 10and license in png.h 11 12This directory contains support for building libpng under MicroSoft 13VisualStudio 2010. It may also work under later versions of VisualStudio. 14You should be familiar with VisualStudio before using this directory. 15 16Initial preparations 17==================== 18You must enter some information in zlib.props before attempting to build 19with this 'solution'. Please read and edit zlib.props first. You will 20probably not be familiar with the contents of zlib.props - do not worry, 21it is mostly harmless. 22 23This is all you need to do to build the 'release' and 'release library' 24configurations. 25 26Debugging 27========= 28The release configurations default to /Ox optimization. Full debugging 29information is produced (in the .pdb), but if you encounter a problem the 30optimization may make it difficult to debug. Simply rebuild with a lower 31optimization level (e.g. /Od.) 32 33Linking your application 34======================== 35Normally you should link against the 'release' configuration. This builds a 36DLL for libpng with the default runtime options used by Visual Studio 2010. 37In particular the runtime library is the "MultiThreaded DLL" version. 38If you use Visual Studio defaults to build your application you will have no 39problems. 40 41If you don't use the Visual Studio defaults your application must still be built 42with the default runtime option (/MD). If, for some reason, it is not then your 43application will crash inside libpng16.dll as soon as libpng tries to read 44from a file handle you pass in. 45 46If you do not want to use the DLL, for example for a very small application, 47the 'release library' configuration may be more appropriate. This is built 48with a non-standard runtime library - the "MultiThreaded" version. When you 49build your application it must be compiled with this option (/MT), otherwise 50it will not build (if you are lucky) or crash (if you are not.) 51 52Stop reading here 53================= 54You have enough information to build a working application. 55 56Debug versions have limited support 57=================================== 58This solution includes limited support for debug versions of libpng. You 59do not need these unless your own solution itself uses debug builds (it is 60far more effective to debug on the release builds, there is no point building 61a special debug build unless you have heap corruption problems that you can't 62track down.) 63 64The debug build of libpng is minimally supported. Support for debug builds of 65zlib is also minimal. You really don't want to do this. 66