| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | Instructions for building libpng using Microsoft Visual Studio==============================================================Copyright (c) 2018 Cosmin TrutaCopyright (c) 2010,2013,2015 Glenn Randers-PehrsonThis code is released under the libpng license.For conditions of distribution and use, see the disclaimer and licensein png.hThis directory contains a solution for building libpng under MicrosoftVisual Studio 2010.  It may also work under later versions of VisualStudio.  You should be familiar with Visual Studio before using thissolution.Initial preparations--------------------You must enter some information in zlib.props before attempting tobuild with this 'solution'.  Please read and edit zlib.props first.You will probably not be familiar with the contents of zlib.props -do not worry, it is mostly harmless.This is all you need to do to build the 'release' and 'release library'configurations.Debugging---------The release configurations default to /Ox optimization.  Full debugginginformation is produced (in the .pdb), but if you encounter a problemthe optimization may make it difficult to debug.  Simply rebuild with alower optimization level (e.g. /Od.)Linking your application------------------------Normally you should link against the 'release' configuration.  Thisbuilds a DLL for libpng with the default runtime options used by VisualStudio.  In particular the runtime library is the "MultiThreaded DLL"version.  If you use Visual Studio defaults to build your application,you should have no problems.If you don't use the Visual Studio defaults your application must stillbe built with the default runtime option (/MD).  If, for some reason,it is not then your application will crash inside libpng16.dll as soonas libpng tries to read from a file handle you pass in.If you do not want to use the DLL, and prefer static linking instead,you may choose the 'release library' configuration.  This is built witha non-standard runtime library - the "MultiThreaded" version.  When youbuild your application, it must be compiled with this option (/MT),otherwise it will not build (if you are lucky) or it will crash (if youare not.) See the WARNING file that is distributed with this README.Stop reading here-----------------You have enough information to build a working application.Debug versions have limited support-----------------------------------This solution includes limited support for debug versions of libpng.You do not need these unless your own solution itself uses debug builds(it is far more effective to debug on the release builds, there is nopoint building a special debug build unless you have heap corruptionproblems that you can't track down.)The debug build of libpng is minimally supported.  Support for debugbuilds of zlib is also minimal.  Please keep this in mind, if you wantto use it.WARNING-------Libpng 1.6.x does not use the default run-time library when buildingstatic library builds of libpng; instead of the shared DLL runtime, ituses a static runtime.  If you need to change this, make sure to changethe setting on all the relevant projects:    libpng    zlib    all the test programsThe runtime library settings for each build are as follows:               Release        Debug    DLL         /MD            /MDd    Library     /MT            /MTdAlso, be sure to build libpng, zlib, and your project, all for the sameplatform (e.g., 32-bit or 64-bit).
 |