Update projects/vstudio

This commit is contained in:
Cosmin Truta 2018-07-29 21:51:48 -04:00
parent 8440326590
commit 6d55a14c58
2 changed files with 54 additions and 65 deletions

View File

@ -1,76 +1,77 @@
Instructions for building libpng using Microsoft Visual Studio
==============================================================
VisualStudio instructions
libpng version 1.6.35 - July 15, 2018
Copyright (c) 2018 Cosmin Truta
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
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.
This directory contains a solution for building libpng under Microsoft
Visual Studio 2010. It may also work under later versions of Visual
Studio. You should be familiar with Visual Studio before using this
solution.
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.
--------------------
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.)
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.
------------------------
Normally you should link against the 'release' configuration. This
builds a DLL for libpng with the default runtime options used by Visual
Studio. 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 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 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.
If you do not want to use the DLL, and prefer static linking instead,
you may choose the 'release library' configuration. 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 it will crash (if you
are 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 no point building
a special debug build unless you have heap corruption problems that you can't
track down.)
-----------------------------------
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.
The debug build of libpng is minimally supported. Support for debug
builds of zlib is also minimal. Please keep this in mind, if you want
to use it.
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 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
@ -82,16 +83,5 @@ The runtime library settings for each build are as follows:
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
Also, be sure to build libpng, zlib, and your project, all for the same
platform (e.g., 32-bit or 64-bit).

View File

@ -2,16 +2,15 @@
<!--
* zlib.props - location of zlib source
*
* libpng version 1.6.35 - July 15, 2018
*
* Copyright (c) 2018 Cosmin Truta
* Copyright (c) 1998-2011 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
* You must edit this file to record the location of the zlib
* source code.
* You may need to edit this file in order to update the location
* of the zlib source code.
-->
<Project ToolsVersion="4.0"
@ -32,7 +31,7 @@
versions do not match. The zlib version used in this build is recorded
below:
-->
<ZLibSrcDir>..\..\..\..\zlib-1.2.8</ZLibSrcDir>
<ZLibSrcDir>..\..\..\..\zlib</ZLibSrcDir>
<!-- The following line allows compilation for an ARM target with Visual
Studio 2012. Notice that this is not supported by the Visual Studio