summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libpng/projects/vstudio/README.txt')
-rw-r--r--libpng/projects/vstudio/README.txt97
1 files changed, 97 insertions, 0 deletions
diff --git a/libpng/projects/vstudio/README.txt b/libpng/projects/vstudio/README.txt
new file mode 100644
index 00000000..71d3ba23
--- /dev/null
+++ b/libpng/projects/vstudio/README.txt
@@ -0,0 +1,97 @@
+
+VisualStudio instructions
+
+libpng version 1.6.34 - September 29, 2017
+
+Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson
+
+This code is released under the libpng license.
+For conditions of distribution and use, see the disclaimer
+and license in png.h
+
+This directory contains support for building libpng under MicroSoft
+VisualStudio 2010. It may also work under later versions of VisualStudio.
+You should be familiar with VisualStudio before using this directory.
+
+Initial preparations
+====================
+You must enter some information in zlib.props before attempting to build
+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 debugging
+information is produced (in the .pdb), but if you encounter a problem the
+optimization may make it difficult to debug. Simply rebuild with a lower
+optimization level (e.g. /Od.)
+
+Linking your application
+========================
+Normally you should link against the 'release' configuration. This builds a
+DLL for libpng with the default runtime options used by Visual Studio 2010.
+In particular the runtime library is the "MultiThreaded DLL" version.
+If you use Visual Studio defaults to build your application you will have no
+problems.
+
+If you don't use the Visual Studio defaults your application must still be
+built with the default runtime option (/MD). If, for some reason, it is not
+then your application will crash inside libpng16.dll as soon as libpng
+tries to read from a file handle you pass in.
+
+If you do not want to use the DLL, for example for a very small application,
+the 'release library' configuration may be more appropriate. This is built
+with a non-standard runtime library - the "MultiThreaded" version. When you
+build your application it must be compiled with this option (/MT), otherwise
+it will not build (if you are lucky) or crash (if you are not.) See the
+WARNING file that is distributed along with this readme.txt.
+
+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 no point building
+a special debug build unless you have heap corruption problems that you can't
+track down.)
+
+The debug build of libpng is minimally supported. Support for debug builds of
+zlib is also minimal. You really don't want to do this.
+
+WARNING
+=======
+Libpng 1.6.x does not use the default run-time library when building static
+library builds of libpng; instead of the shared DLL runtime it uses a static
+runtime. If you need to change this make sure to change the setting on all the
+relevant projects:
+
+ libpng
+ zlib
+ all the test programs
+
+The runtime library settings for each build are as follows:
+
+ Release Debug
+ DLL /MD /MDd
+ Library /MT /MTd
+
+NOTICE that libpng 1.5.x erroneously used /MD for Debug DLL builds; if you used
+the debug builds in your app and you changed your app to use /MD you will need
+to change it back to /MDd for libpng 1.6.0 and later.
+
+The Visual Studio 2010 defaults for a Win32 DLL or Static Library project are
+as follows:
+
+ Release Debug
+ DLL /MD /MDd
+ Static Library /MD /MDd
+
+Also, be sure to build libpng, zlib, and your project all for the same
+platform (e.g., 32-bit or 64-bit).