Update projects/vstudio
This commit is contained in:
parent
8440326590
commit
6d55a14c58
@ -1,76 +1,77 @@
|
|||||||
|
Instructions for building libpng using Microsoft Visual Studio
|
||||||
|
==============================================================
|
||||||
|
|
||||||
VisualStudio instructions
|
Copyright (c) 2018 Cosmin Truta
|
||||||
|
|
||||||
libpng version 1.6.35 - July 15, 2018
|
|
||||||
|
|
||||||
Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson
|
Copyright (c) 2010,2013,2015 Glenn Randers-Pehrson
|
||||||
|
|
||||||
This code is released under the libpng license.
|
This code is released under the libpng license.
|
||||||
For conditions of distribution and use, see the disclaimer
|
For conditions of distribution and use, see the disclaimer and license
|
||||||
and license in png.h
|
in png.h
|
||||||
|
|
||||||
This directory contains support for building libpng under MicroSoft
|
This directory contains a solution for building libpng under Microsoft
|
||||||
VisualStudio 2010. It may also work under later versions of VisualStudio.
|
Visual Studio 2010. It may also work under later versions of Visual
|
||||||
You should be familiar with VisualStudio before using this directory.
|
Studio. You should be familiar with Visual Studio before using this
|
||||||
|
solution.
|
||||||
|
|
||||||
Initial preparations
|
Initial preparations
|
||||||
====================
|
--------------------
|
||||||
You must enter some information in zlib.props before attempting to build
|
You must enter some information in zlib.props before attempting to
|
||||||
with this 'solution'. Please read and edit zlib.props first. You will
|
build with this 'solution'. Please read and edit zlib.props first.
|
||||||
probably not be familiar with the contents of zlib.props - do not worry,
|
You will probably not be familiar with the contents of zlib.props -
|
||||||
it is mostly harmless.
|
do not worry, it is mostly harmless.
|
||||||
|
|
||||||
This is all you need to do to build the 'release' and 'release library'
|
This is all you need to do to build the 'release' and 'release library'
|
||||||
configurations.
|
configurations.
|
||||||
|
|
||||||
Debugging
|
Debugging
|
||||||
=========
|
---------
|
||||||
The release configurations default to /Ox optimization. Full debugging
|
The release configurations default to /Ox optimization. Full debugging
|
||||||
information is produced (in the .pdb), but if you encounter a problem the
|
information is produced (in the .pdb), but if you encounter a problem
|
||||||
optimization may make it difficult to debug. Simply rebuild with a lower
|
the optimization may make it difficult to debug. Simply rebuild with a
|
||||||
optimization level (e.g. /Od.)
|
lower optimization level (e.g. /Od.)
|
||||||
|
|
||||||
Linking your application
|
Linking your application
|
||||||
========================
|
------------------------
|
||||||
Normally you should link against the 'release' configuration. This builds a
|
Normally you should link against the 'release' configuration. This
|
||||||
DLL for libpng with the default runtime options used by Visual Studio 2010.
|
builds a DLL for libpng with the default runtime options used by Visual
|
||||||
In particular the runtime library is the "MultiThreaded DLL" version.
|
Studio. In particular the runtime library is the "MultiThreaded DLL"
|
||||||
If you use Visual Studio defaults to build your application you will have no
|
version. If you use Visual Studio defaults to build your application,
|
||||||
problems.
|
you should have no problems.
|
||||||
|
|
||||||
If you don't use the Visual Studio defaults your application must still be
|
If you don't use the Visual Studio defaults your application must still
|
||||||
built with the default runtime option (/MD). If, for some reason, it is not
|
be built with the default runtime option (/MD). If, for some reason,
|
||||||
then your application will crash inside libpng16.dll as soon as libpng
|
it is not then your application will crash inside libpng16.dll as soon
|
||||||
tries to read from a file handle you pass in.
|
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,
|
If you do not want to use the DLL, and prefer static linking instead,
|
||||||
the 'release library' configuration may be more appropriate. This is built
|
you may choose the 'release library' configuration. This is built with
|
||||||
with a non-standard runtime library - the "MultiThreaded" version. When you
|
a non-standard runtime library - the "MultiThreaded" version. When you
|
||||||
build your application it must be compiled with this option (/MT), otherwise
|
build your application, it must be compiled with this option (/MT),
|
||||||
it will not build (if you are lucky) or crash (if you are not.) See the
|
otherwise it will not build (if you are lucky) or it will crash (if you
|
||||||
WARNING file that is distributed along with this readme.txt.
|
are not.) See the WARNING file that is distributed with this README.
|
||||||
|
|
||||||
Stop reading here
|
Stop reading here
|
||||||
=================
|
-----------------
|
||||||
You have enough information to build a working application.
|
You have enough information to build a working application.
|
||||||
|
|
||||||
Debug versions have limited support
|
Debug versions have limited support
|
||||||
===================================
|
-----------------------------------
|
||||||
This solution includes limited support for debug versions of libpng. You
|
This solution includes limited support for debug versions of libpng.
|
||||||
do not need these unless your own solution itself uses debug builds (it is
|
You do not need these unless your own solution itself uses debug builds
|
||||||
far more effective to debug on the release builds, there is no point building
|
(it is far more effective to debug on the release builds, there is no
|
||||||
a special debug build unless you have heap corruption problems that you can't
|
point building a special debug build unless you have heap corruption
|
||||||
track down.)
|
problems that you can't track down.)
|
||||||
|
|
||||||
The debug build of libpng is minimally supported. Support for debug builds of
|
The debug build of libpng is minimally supported. Support for debug
|
||||||
zlib is also minimal. You really don't want to do this.
|
builds of zlib is also minimal. Please keep this in mind, if you want
|
||||||
|
to use it.
|
||||||
|
|
||||||
WARNING
|
WARNING
|
||||||
=======
|
-------
|
||||||
Libpng 1.6.x does not use the default run-time library when building static
|
Libpng 1.6.x does not use the default run-time library when building
|
||||||
library builds of libpng; instead of the shared DLL runtime it uses a static
|
static library builds of libpng; instead of the shared DLL runtime, it
|
||||||
runtime. If you need to change this make sure to change the setting on all the
|
uses a static runtime. If you need to change this, make sure to change
|
||||||
relevant projects:
|
the setting on all the relevant projects:
|
||||||
|
|
||||||
libpng
|
libpng
|
||||||
zlib
|
zlib
|
||||||
@ -82,16 +83,5 @@ The runtime library settings for each build are as follows:
|
|||||||
DLL /MD /MDd
|
DLL /MD /MDd
|
||||||
Library /MT /MTd
|
Library /MT /MTd
|
||||||
|
|
||||||
NOTICE that libpng 1.5.x erroneously used /MD for Debug DLL builds; if you used
|
Also, be sure to build libpng, zlib, and your project, all for the same
|
||||||
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).
|
platform (e.g., 32-bit or 64-bit).
|
||||||
|
@ -2,16 +2,15 @@
|
|||||||
<!--
|
<!--
|
||||||
* zlib.props - location of zlib source
|
* 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
|
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
|
||||||
*
|
*
|
||||||
* This code is released under the libpng license.
|
* This code is released under the libpng license.
|
||||||
* For conditions of distribution and use, see the disclaimer
|
* For conditions of distribution and use, see the disclaimer
|
||||||
* and license in png.h
|
* and license in png.h
|
||||||
|
|
||||||
* You must edit this file to record the location of the zlib
|
* You may need to edit this file in order to update the location
|
||||||
* source code.
|
* of the zlib source code.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<Project ToolsVersion="4.0"
|
<Project ToolsVersion="4.0"
|
||||||
@ -32,7 +31,7 @@
|
|||||||
versions do not match. The zlib version used in this build is recorded
|
versions do not match. The zlib version used in this build is recorded
|
||||||
below:
|
below:
|
||||||
-->
|
-->
|
||||||
<ZLibSrcDir>..\..\..\..\zlib-1.2.8</ZLibSrcDir>
|
<ZLibSrcDir>..\..\..\..\zlib</ZLibSrcDir>
|
||||||
|
|
||||||
<!-- The following line allows compilation for an ARM target with Visual
|
<!-- The following line allows compilation for an ARM target with Visual
|
||||||
Studio 2012. Notice that this is not supported by the Visual Studio
|
Studio 2012. Notice that this is not supported by the Visual Studio
|
||||||
|
Loading…
Reference in New Issue
Block a user