trunk: msvc2005 documentation update.

v0.27.3
Robin Mills 11 years ago
parent 5b15418f02
commit 9ba27d268b

@ -8,7 +8,7 @@ exiv2\msvc2005\ReadMe.txt
| with Visual Studio 2003/5/8 | | with Visual Studio 2003/5/8 |
+-----------------------------------------------------------+ +-----------------------------------------------------------+
Updated: 2013-12-25 Updated: 2013-12-29
Robin Mills Robin Mills
http://clanmills.com http://clanmills.com
@ -23,19 +23,18 @@ T A B L E o f C O N T E N T S
1.3 Open exiv2\msvc2005\exiv2.sln 1.3 Open exiv2\msvc2005\exiv2.sln
1.4 Building with and without webready 1.4 Building with and without webready
1.5 What is build 1.5 What is build
1.6 Building with zlib1.2.3 (or 1.2.5) and expat 2.0.1 1.6 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds)
1.7 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds)
2 Design 2 Design
2.1 Architecture 2.1 Architecture
2.2 Relationship with msvc build environment 2.2 Relationship with msvc build environment
3 Acknowledgment of prior work 3 Batch builds and tests
3.1 Differences between inherited project and the exiv2 projects 3.1 buildall.bat
3.2 Running the test suite
4 Batch builds and tests 4 Acknowledgment of prior work
4.1 buildall.bat 4.1 Differences between inherited project and the exiv2 projects
4.2 Running the test suite
## End Table of Contents End ## ## End Table of Contents End ##
#### ####
@ -48,6 +47,10 @@ T A B L E o f C O N T E N T S
however it is possible to build 32 bit libraries with "Express". however it is possible to build 32 bit libraries with "Express".
See notes below about DevStudio Express and building only Win32 or x64 builds See notes below about DevStudio Express and building only Win32 or x64 builds
You need a DOS version of perl to build openssl. Not the cygwin version. I use ActiveState Perl.
You need Cygwin to run the test suite because it is written in bash.
1.2 Install zlib and expat sources. 1.2 Install zlib and expat sources.
I use the directory c:\gnu for this purpose, however the name isn't important. I use the directory c:\gnu for this purpose, however the name isn't important.
@ -81,16 +84,19 @@ T A B L E o f C O N T E N T S
1.3 Open exiv2\msvc2005\exiv2.sln 1.3 Open exiv2\msvc2005\exiv2.sln
Projects are zlib, expat, xmpsdk, exiv2lib, exiv2, addmoddel etc... Projects are zlib, expat, xmpsdk, exiv2lib, exiv2, addmoddel etc...
Build/Batch build... Select All, Build Build/Batch build... Select All, Build
- 41 projects (zlib, expat, xmpsdk, exiv2lib, exiv2, addmoddel etc) - 36 projects (zlib, expat, xmpsdk, exiv2lib, exiv2, addmoddel etc)
x 2 Platforms (x64|Win32) x 2 Platforms (x64|Win32)
x 4 Configurations (Debug|Release|DebugDLL|ReleaseDLL) x 4 Configurations (Debug|Release|DebugDLL|ReleaseDLL)
= 41x2x4 = 328 builds. = 38x2x4 = 288 builds.
When building with webready, you add 5 libraries for a total of 328 builds.
If you haven't installed the x64 compiler, don't select the 64 bit configurations! If you haven't installed the x64 compiler, don't select the 64 bit configurations!
You may have to hand-edit the vcproj and sln files to hide the 64 bit information. You may have to hand-edit the vcproj and sln files to hide the 64 bit information.
See the notes about DevStudio Express for more information about this. See the notes about DevStudio Express for more information about this.
Build time is 20 minutes on a 2.2GHz Duo Core and consumes 3.0 gBytes of disk space. Build time is 20 minutes on a 2.2GHz Duo Core and consumes 3.0 gBytes of disk space.
Build time with webready is of the order of one hour as we add openssl, curl and libssh.
1.4 Building with and without webready 1.4 Building with and without webready
Building the complete library with webready support requires building Building the complete library with webready support requires building
@ -108,36 +114,7 @@ T A B L E o f C O N T E N T S
The Debug|Release builds use static C runtime libraries The Debug|Release builds use static C runtime libraries
This is discussed in exiv2\msvc2003\ReadMe.txt This is discussed in exiv2\msvc2003\ReadMe.txt
1.6 Building with zlib1.2.5 (or 1.2.3) and/or expat 2.0.1 1.6 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds)
By default, msvc2005 builds with zlib-1.2.7 and expat 2.1.0
You can build with zlib1.2.3. To do this:
1) copy/y exiv2\msvc2005\zlib123\zlib.vcproj exiv2\msvc2005\zlib\
copy/y exiv2\msvc2005\expat201\expat.vcproj exiv2\msvc2005\expat
2) You will need the sources in a directory parallel to exiv2
c:\gnu>dir
Directory of c:\gnu
2010-12-05 10:05 <DIR> exiv2 <--- this tree
2012-05-04 23:35 <DIR> expat-2.1.0 <--- "vanilla" expat 2.1.0 source tree
2010-12-02 21:06 <DIR> expat-2.0.1 <--- "vanilla" expat 2.0.1 source tree
2010-12-02 20:58 <DIR> zlib-1.2.7 <--- "vanilla" zlib 1.2.7 source tree
2010-12-02 20:58 <DIR> zlib-1.2.3 OPTIONAL <--- "vanilla" zlib 1.2.3 source tree
c:\gnu>
Please see exiv2\msvc2003\ReadMe.txt for information about obtaining zlib-1.2.3
3) Alter the "AdditionalIncludeDirectories" in the following projects:
xmpsdk.vcproj
exiv2lib.vcproj
exiv2.vcproj
There are 8 occurances of "AdditionalIncludeDirectories" in each of the 3 projects.
If you have both 1.2.3 and 1.2.5 in your build tree, you'll probably "get away with" not
making this change - however this is due to good luck and you should really adjust the vcprojects.
4) Alter "AdditionalIncludeDirectories" for expat 2.0.1
1.7 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds)
Express does not provide a 64 bit compiler. Express does not provide a 64 bit compiler.
You can build 32 bit libraries with DevStudio Express (with a little effort) You can build 32 bit libraries with DevStudio Express (with a little effort)
@ -217,33 +194,15 @@ T A B L E o f C O N T E N T S
4) msvc2005 supports DevStudio 2005 and later (no support for 2003) 4) msvc2005 supports DevStudio 2005 and later (no support for 2003)
5) msvc2005 does not require you to build 'vanilla' expat and zlib projects in advance 5) msvc2005 does not require you to build 'vanilla' expat and zlib projects in advance
6) msvc2005 does not support the organize application 6) msvc2005 does not support the organize application
7) msvc2005 supports building with zlib1.2.7 (default) or zlib1.2.3/5 7) msvc2005 supports building with zlib1.2.7 or 1.2.8
7) msvc2005 supports building with expat2.1.0 (default) or expa2.0.1 7) msvc2005 supports building with expat2.1.0
msvc2003 will continue to be supported for 32 bit builds using DevStudio 2003/05/08, msvc2003 will continue to be supported for 32 bit builds using DevStudio 2003/05/08,
however there is no plan to enhance or develop msvc2003 going forward. however there is no plan to enhance or develop msvc2003 going forward.
3 Acknowledgement of prior work 3 Batch builds and tests
This work is based on work by the following people:
zlib 64 bit build
Copyright (C) 2000-2004 Simon-Pierre Cadieux. 3.1 buildall.bat
Copyright (C) 2004 Cosmin Truta.
For conditions of distribution and use, see copyright notice in zlib.h.
And was obtained from: http://www.achacha.org/vc2008_zlib/
expat 64 bit build
http://www.start64.com/index.php?option=com_content&task=view&id=3461&Itemid=114
I recognise and respect the work performed by those individuals.
3.1 Differences between inherited projects and the exiv2 projects
There is no compatiblity.
4 Batch builds and tests
4.1 buildall.bat
This was intended to be a "throw away" kind of script and it's grown to be quite useful. This was intended to be a "throw away" kind of script and it's grown to be quite useful.
You will have to run vcvars32.bat for the compiler you intend to use to ensure devenv is You will have to run vcvars32.bat for the compiler you intend to use to ensure devenv is
on your path. on your path.
@ -251,7 +210,7 @@ T A B L E o f C O N T E N T S
It doesn't know anything about building only x64 or only Win32. Change the script if you It doesn't know anything about building only x64 or only Win32. Change the script if you
want something special. want something special.
4.2 Running the test suite 3.2 Running the test suite
You will need to install cygwin to run the test suite. You will need to install cygwin to run the test suite.
This is a two stage process: This is a two stage process:
@ -295,5 +254,23 @@ T A B L E o f C O N T E N T S
The test suite has been "doctored" on cygwin to modify the path appropriately to The test suite has been "doctored" on cygwin to modify the path appropriately to
use this preferred version of diff.exe. use this preferred version of diff.exe.
4 Acknowledgement of prior work
This work is based on work by the following people:
zlib 64 bit build
Copyright (C) 2000-2004 Simon-Pierre Cadieux.
Copyright (C) 2004 Cosmin Truta.
For conditions of distribution and use, see copyright notice in zlib.h.
And was obtained from: http://www.achacha.org/vc2008_zlib/
expat 64 bit build
http://www.start64.com/index.php?option=com_content&task=view&id=3461&Itemid=114
I recognise and respect the work performed by those individuals.
4.1 Differences between inherited projects and the exiv2 projects
There is no compatiblity.
# That's all Folks! # That's all Folks!
## ##

Loading…
Cancel
Save