1) Library files have been changed to enable them to co-exist in a single directory:
* Static Debug: exiv2.lib -> exiv2sd.lib
* Static Release: exiv2.lib -> exiv2s.lib
* DLL Debug: exiv2.lib -> exiv2d.lib
exiv2.dll -> exiv2d.dll
* Dll Release: unchanged
2) Incorrect linking has been rectified as follows:
The following had their expat dependencies incorrect and
debug versions were linking against release versions, and release
versions against debug versions:
exiv2-0.20\msvc\addmoddel\addmoddel.vcproj
exiv2-0.20\msvc\convert-test\convert-test.vcproj
exiv2-0.20\msvc\mmap-test\mmap-test.vcproj
exiv2-0.20\msvc\tiff-test\tiff-test.vcproj
Also, in the following it was linking in both the debug and release
zlib:
exiv2-0.20\msvc\exivsimple\exivsimple.vcproj
Thank you to Jon for providing these fixes.
3) Runner.txt has been modified for the following reasons:
a) The change in library names is detected
b) Some exiv2 output strings have changed since 0.20
This improves the performance of exiv2.exe on TIFF files about 5x
The MSVC branch adds mmap.cpp and mman.h - borrowed and slightly touched from KDE
- the contribution of KDE is acknowledged and respected (and changes documented)
- exv_msvc.h modified to support MM
- added support files include/sys to enable compilation on MSVC
I discovered while doing a private build for a user that msvc/include/exv_msvc.h still contains the #pragma comment code.
I've removed that (again!) and fixed a consequential link error on exiv2lib.vcproj DebugDLL | ReleaseDLL
Rebuilt everything on VS2003/5/8 and all run the runner.bat test OK.
1) exv_msvc.h moved to msvc/include/exv_msvc.h
2) exv_msvc.h no longer has #pragma comment statements to link zlib
3) project files updated to explicitly link appropriate zlib library
Small changes to organize.vcproj to match the other exiv2 projects
Updated README-MSVC.txt with information about building organize.exe
No significant changes to exiv2.sln or its project files.