|
|
@ -21,9 +21,9 @@ All builds in msvc2003 are 32bit.
|
|
|
|
1) Build environments (solution files)
|
|
|
|
1) Build environments (solution files)
|
|
|
|
exiv2.sln - this builds the exiv2 libraries (static and dynamic)
|
|
|
|
exiv2.sln - this builds the exiv2 libraries (static and dynamic)
|
|
|
|
and the utility and test programs (exiv2.exe, exifprint.exe)
|
|
|
|
and the utility and test programs (exiv2.exe, exifprint.exe)
|
|
|
|
|
|
|
|
|
|
|
|
DEPENDS on zlib-1.2.3 and expat-2.0.1
|
|
|
|
DEPENDS on zlib-1.2.3 and expat-2.0.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
How to build and test exiv2
|
|
|
|
How to build and test exiv2
|
|
|
|
----------------------------
|
|
|
|
----------------------------
|
|
|
@ -39,10 +39,10 @@ How to build and test exiv2
|
|
|
|
c:\gnu\expat-2.0.1 <---- vanilla expat
|
|
|
|
c:\gnu\expat-2.0.1 <---- vanilla expat
|
|
|
|
c:\gnu\zlib-1.2.3 <---- vanilla zlib
|
|
|
|
c:\gnu\zlib-1.2.3 <---- vanilla zlib
|
|
|
|
c:\gnu\exiv2 <---- this directory
|
|
|
|
c:\gnu\exiv2 <---- this directory
|
|
|
|
|
|
|
|
|
|
|
|
You can download the libraries from http://clanmills.com/files/exiv2libs.zip (20mb)
|
|
|
|
You can download the libraries from http://clanmills.com/files/exiv2libs.zip (20mb)
|
|
|
|
This archive includes libraries for use by msvc2003 and msvc2005.
|
|
|
|
This archive includes libraries for use by msvc2003 and msvc2005.
|
|
|
|
|
|
|
|
|
|
|
|
If you unzip exiv2libs.zip into c:\exiv2libs, the batch file msvc2003/copylibs.zip
|
|
|
|
If you unzip exiv2libs.zip into c:\exiv2libs, the batch file msvc2003/copylibs.zip
|
|
|
|
will copy the files from c:\exiv2libs to the correct location.
|
|
|
|
will copy the files from c:\exiv2libs to the correct location.
|
|
|
|
|
|
|
|
|
|
|
@ -51,7 +51,7 @@ How to build and test exiv2
|
|
|
|
If you have copied expat-2.0.1 from the archive, you can skip this step.
|
|
|
|
If you have copied expat-2.0.1 from the archive, you can skip this step.
|
|
|
|
|
|
|
|
|
|
|
|
This is what I do:
|
|
|
|
This is what I do:
|
|
|
|
a) Open expat-2.0.1\expat.dsw with DevStudio
|
|
|
|
a) Open expat-2.0.1\expat.dsw with Visual Studio
|
|
|
|
This converts the expat-2.0.1 VC6 work space to DevStudio project files
|
|
|
|
This converts the expat-2.0.1 VC6 work space to DevStudio project files
|
|
|
|
Say "Yes" to everything.
|
|
|
|
Say "Yes" to everything.
|
|
|
|
|
|
|
|
|
|
|
@ -61,7 +61,7 @@ How to build and test exiv2
|
|
|
|
|
|
|
|
|
|
|
|
Rattle roll.... less than a minute ...... rattle grrrrrrrr rump.
|
|
|
|
Rattle roll.... less than a minute ...... rattle grrrrrrrr rump.
|
|
|
|
========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
|
|
|
|
========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
|
|
|
|
|
|
|
|
|
|
|
|
3) Build zlib. See zlib documents for details.
|
|
|
|
3) Build zlib. See zlib documents for details.
|
|
|
|
|
|
|
|
|
|
|
|
If you have copied zlib-1.2.3 from the archive, you can skip this step.
|
|
|
|
If you have copied zlib-1.2.3 from the archive, you can skip this step.
|
|
|
@ -74,7 +74,7 @@ How to build and test exiv2
|
|
|
|
b) Build/Batch Build/Select
|
|
|
|
b) Build/Batch Build/Select
|
|
|
|
{ zlib } {DLL Debug | DLL Release | LIB Debug | LIB Release } (4 targets)
|
|
|
|
{ zlib } {DLL Debug | DLL Release | LIB Debug | LIB Release } (4 targets)
|
|
|
|
Build
|
|
|
|
Build
|
|
|
|
|
|
|
|
|
|
|
|
Rattle roll.... less than a minute ...... snap, crackle, pop (lots of warnings)
|
|
|
|
Rattle roll.... less than a minute ...... snap, crackle, pop (lots of warnings)
|
|
|
|
========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
|
|
|
|
========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
|
|
|
|
|
|
|
|
|
|
|
@ -86,7 +86,7 @@ How to build and test exiv2
|
|
|
|
At the end of building, you should see the beautiful output:
|
|
|
|
At the end of building, you should see the beautiful output:
|
|
|
|
|
|
|
|
|
|
|
|
========== Build: 104 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
|
|
|
|
========== Build: 104 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
|
|
|
|
|
|
|
|
|
|
|
|
The build takes 6 minutes on my iMac with a 2.8GHz Duo Core Intel Processor
|
|
|
|
The build takes 6 minutes on my iMac with a 2.8GHz Duo Core Intel Processor
|
|
|
|
and 4GBytes of Ram running XP/Pro SP3.
|
|
|
|
and 4GBytes of Ram running XP/Pro SP3.
|
|
|
|
|
|
|
|
|
|
|
@ -95,14 +95,14 @@ How to build and test exiv2
|
|
|
|
+--------------------------------------------+
|
|
|
|
+--------------------------------------------+
|
|
|
|
|
|
|
|
|
|
|
|
The total build consumes 1.0GBytes of disk space.
|
|
|
|
The total build consumes 1.0GBytes of disk space.
|
|
|
|
There are 112 targets (4 expats, 4 zlibs and 108 exiv2 targets)
|
|
|
|
There are 116 targets (4 expats, 4 zlibs and 108 exiv2 targets)
|
|
|
|
The pdb (debugging) files consume 300MB.
|
|
|
|
The pdb (debugging) files consume 300MB.
|
|
|
|
The debug exiv2 static library alone (exiv2.lib) is 35MB
|
|
|
|
The debug exiv2 static library alone (exiv2.lib) is 35MB
|
|
|
|
|
|
|
|
|
|
|
|
A more modest build is to build exiv2
|
|
|
|
A more modest build is to build exiv2
|
|
|
|
{ Debug | Release | DebugDLL | ReleaseDLL }
|
|
|
|
{ Debug | Release | DebugDLL | ReleaseDLL }
|
|
|
|
This consumes: 400MB
|
|
|
|
This consumes: 400MB
|
|
|
|
|
|
|
|
|
|
|
|
A minimum build is to build exiv2/Release
|
|
|
|
A minimum build is to build exiv2/Release
|
|
|
|
This consumes: 100MB
|
|
|
|
This consumes: 100MB
|
|
|
|
|
|
|
|
|
|
|
@ -140,10 +140,10 @@ DebugDLL| ReleaseDLL = MD{d} : link exiv2{d}.lib, xmpsdk.lib, libexpat.lib and
|
|
|
|
Runtime DLLS : exiv2{d}.dll, libexpat.dll, zlib1{d}.dll and MSVC{R|P}{_0D.dll)
|
|
|
|
Runtime DLLS : exiv2{d}.dll, libexpat.dll, zlib1{d}.dll and MSVC{R|P}{_0D.dll)
|
|
|
|
_ = 7 for VS2003, 8 for VS2005 and 9 for VS2008
|
|
|
|
_ = 7 for VS2003, 8 for VS2005 and 9 for VS2008
|
|
|
|
The MSVC*.dll's are on most machines and a free download from Microsoft
|
|
|
|
The MSVC*.dll's are on most machines and a free download from Microsoft
|
|
|
|
|
|
|
|
|
|
|
|
b) Static + MT build and work
|
|
|
|
b) Static + MT build and work
|
|
|
|
|
|
|
|
|
|
|
|
Debug | Release = MT{d} : link exiv2s{d}.lib, libexpatMT.lib, zlib{d}.lib xmpsdk.lib
|
|
|
|
Debug | Release = MT{d} : link exiv2s{d}.lib, libexpatMT.lib, zlib{d}.lib xmpsdk.lib
|
|
|
|
Runtime DLLs : none
|
|
|
|
Runtime DLLs : none
|
|
|
|
|
|
|
|
|
|
|
|
c) Static + MD will work (but not built)
|
|
|
|
c) Static + MD will work (but not built)
|
|
|
@ -196,7 +196,7 @@ The following warning and message are part of the build:
|
|
|
|
2) zlib.lib(zutil.obj) : warning LNK4217: locally defined symbol _malloc imported in function _zcalloc
|
|
|
|
2) zlib.lib(zutil.obj) : warning LNK4217: locally defined symbol _malloc imported in function _zcalloc
|
|
|
|
I believe this is coming from zlib which uses the local (MD) c-runtime library.
|
|
|
|
I believe this is coming from zlib which uses the local (MD) c-runtime library.
|
|
|
|
It's harmess (although frightening)
|
|
|
|
It's harmess (although frightening)
|
|
|
|
|
|
|
|
|
|
|
|
B) Partial Build errors
|
|
|
|
B) Partial Build errors
|
|
|
|
-----------------------
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
|
|
|
|