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