]>
Commit | Line | Data |
---|---|---|
b61cc19c PC |
1 | |
2 | VisualStudio instructions | |
3 | ||
fff5f7d5 | 4 | libpng version 1.6.2 - April 25, 2013 |
b61cc19c PC |
5 | |
6 | Copyright (c) 1998-2010 Glenn Randers-Pehrson | |
7 | ||
8 | This code is released under the libpng license. | |
9 | For conditions of distribution and use, see the disclaimer | |
10 | and license in png.h | |
11 | ||
12 | This directory contains support for building libpng under MicroSoft | |
13 | VisualStudio 2010. It may also work under later versions of VisualStudio. | |
14 | You should be familiar with VisualStudio before using this directory. | |
15 | ||
b61cc19c PC |
16 | Initial preparations |
17 | ==================== | |
b61cc19c PC |
18 | You must enter some information in zlib.props before attempting to build |
19 | with this 'solution'. Please read and edit zlib.props first. You will | |
20 | probably not be familiar with the contents of zlib.props - do not worry, | |
21 | it is mostly harmless. | |
22 | ||
b61cc19c PC |
23 | This is all you need to do to build the 'release' and 'release library' |
24 | configurations. | |
25 | ||
26 | Debugging | |
27 | ========= | |
28 | The release configurations default to /Ox optimization. Full debugging | |
29 | information is produced (in the .pdb), but if you encounter a problem the | |
30 | optimization may make it difficult to debug. Simply rebuild with a lower | |
31 | optimization level (e.g. /Od.) | |
32 | ||
9c0d9ce3 DS |
33 | Linking your application |
34 | ======================== | |
35 | Normally you should link against the 'release' configuration. This builds a | |
fff5f7d5 VZ |
36 | DLL for libpng with the default runtime options used by Visual Studio 2010. |
37 | In particular the runtime library is the "MultiThreaded DLL" version. | |
9c0d9ce3 DS |
38 | If you use Visual Studio defaults to build your application you will have no |
39 | problems. | |
40 | ||
41 | If you don't use the Visual Studio defaults your application must still be built | |
42 | with the default runtime option (/MD). If, for some reason, it is not then your | |
fff5f7d5 | 43 | application will crash inside libpng16.dll as soon as libpng tries to read |
9c0d9ce3 DS |
44 | from a file handle you pass in. |
45 | ||
46 | If you do not want to use the DLL, for example for a very small application, | |
47 | the 'release library' configuration may be more appropriate. This is built | |
48 | with a non-standard runtime library - the "MultiThreaded" version. When you | |
49 | build your application it must be compiled with this option (/MT), otherwise | |
50 | it will not build (if you are lucky) or crash (if you are not.) | |
51 | ||
b61cc19c PC |
52 | Stop reading here |
53 | ================= | |
54 | You have enough information to build a working application. | |
55 | ||
56 | Debug versions have limited support | |
57 | =================================== | |
58 | This solution includes limited support for debug versions of libpng. You | |
59 | do not need these unless your own solution itself uses debug builds (it is | |
60 | far more effective to debug on the release builds, there is no point building | |
fff5f7d5 VZ |
61 | a special debug build unless you have heap corruption problems that you can't |
62 | track down.) | |
b61cc19c | 63 | |
b61cc19c PC |
64 | The debug build of libpng is minimally supported. Support for debug builds of |
65 | zlib is also minimal. You really don't want to do this. |