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
|
||||
|
||||
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).
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user