#567: Fixing MSVC build, intermediate revision, it is still broken.

This commit is contained in:
Andreas Huggel 2008-09-06 06:02:15 +00:00
parent ec1ea1fe80
commit d866b20d82
33 changed files with 74 additions and 1483 deletions

View File

@ -111,8 +111,9 @@ EXPAT_CPPFLAGS = @EXPAT_CPPFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
# **********************************************************************
# Libraries and Functions
# Libraries, include files, functions
HAVE_LIBZ = @HAVE_LIBZ@
HAVE_STDINT = @HAVE_STDINT@
HAVE_TIMEGM = @HAVE_TIMEGM@
# **********************************************************************

View File

@ -1,137 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="crwparse"
ProjectGUID="{1EB3B69F-6709-42D3-A058-540DE5051800}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;..\include&quot;;&quot;..\..&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="5"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="..\exiv2lib\Debug\exiv2.lib"
OutputFile="$(OutDir)/crwparse.exe"
LinkIncremental="2"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/crwparse.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="copy /y $(TargetPath) $(SolutionDir)\bin\$(TargetFileName)
"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;..\include&quot;;&quot;..\..&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="4"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/crwparse.exe"
LinkIncremental="1"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath="..\..\samples\crwparse.cpp">
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -39,16 +39,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "metacopy", "metacopy\metaco
{831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ifd-test", "ifd-test\ifd-test.vcproj", "{F96ACB3E-B41C-44FA-BB88-954171D5D0BA}"
ProjectSection(ProjectDependencies) = postProject
{831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "makernote-test", "makernote-test\makernote-test.vcproj", "{AB0BA03E-2B09-4DCE-966F-3F5CCA01355C}"
ProjectSection(ProjectDependencies) = postProject
{831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptcprint", "iptcprint\iptcprint.vcproj", "{52034F65-28AA-4E3F-A44D-C91F6F0922F8}"
ProjectSection(ProjectDependencies) = postProject
{831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D}
@ -84,24 +74,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptceasy", "iptceasy\iptcea
{831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2com", "exiv2com\exiv2com.vcproj", "{6EEE7BDC-88EE-450D-B752-63DB7E50EA8E}"
ProjectSection(ProjectDependencies) = postProject
{831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2comPS", "exiv2com\exiv2comPS.vcproj", "{E5CADAC3-4276-4231-9626-49464C79682D}"
ProjectSection(ProjectDependencies) = postProject
{6EEE7BDC-88EE-450D-B752-63DB7E50EA8E} = {6EEE7BDC-88EE-450D-B752-63DB7E50EA8E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifdata-test", "exifdata-test\exifdata-test.vcproj", "{36F0C797-F6BD-4F5C-8DB2-651D8502872D}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "crwparse", "crwparse\crwparse.vcproj", "{1EB3B69F-6709-42D3-A058-540DE5051800}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "largeiptc-test", "largeiptc-test\largeiptc-test.vcproj", "{D8B36F3A-34BB-4540-A731-EEABF1DC2E05}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection

View File

@ -1,67 +0,0 @@
========================================================================
ACTIVE TEMPLATE LIBRARY : exiv2com Project Overview
========================================================================
AppWizard has created this exiv2com project for you to use as the starting point for
writing your Dynamic Link Library (DLL).
This file contains a summary of what you will find in each of the files that
make up your project.
exiv2com.vcproj
This is the main project file for VC++ projects generated using an Application Wizard.
It contains information about the version of Visual C++ that generated the file, and
information about the platforms, configurations, and project features selected with the
Application Wizard.
exiv2com.idl
This file contains the IDL definitions of the type library, the interfaces
and co-classes defined in your project.
This file will be processed by the MIDL compiler to generate:
C++ interface definitions and GUID declarations (exiv2com.h)
GUID definitions (exiv2com_i.c)
A type library (exiv2com.tlb)
Marshaling code (exiv2com_p.c and dlldata.c)
exiv2com.h
This file contains the C++ interface definitions and GUID declarations of the
items defined in exiv2com.idl. It will be regenerated by MIDL during compilation.
exiv2com.cpp
This file contains the object map and the implementation of your DLL's exports.
exiv2com.rc
This is a listing of all of the Microsoft Windows resources that the
program uses.
exiv2com.def
This module-definition file provides the linker with information about the exports
required by your DLL. It contains exports for:
DllGetClassObject
DllCanUnloadNow
GetProxyDllInfo
DllRegisterServer
DllUnregisterServer
/////////////////////////////////////////////////////////////////////////////
Other standard files:
StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file
named exiv2com.pch and a precompiled types file named StdAfx.obj.
Resource.h
This is the standard header file that defines resource IDs.
/////////////////////////////////////////////////////////////////////////////
Proxy/stub DLL project and module definition file:
exiv2comps.vcproj
This file is the project file for building a proxy/stub DLL if necessary.
The IDL file in the main project must contain at least one interface and you must
first compile the IDL file before building the proxy/stub DLL. This process generates
dlldata.c, exiv2com_i.c and exiv2com_p.c which are required
to build the proxy/stub DLL.
exiv2comps.def
This module definition file provides the linker with information about the exports
required by the proxy/stub.
/////////////////////////////////////////////////////////////////////////////

View File

@ -1,136 +0,0 @@
// exif.cpp : Implementation of Cexif
#include "stdafx.h"
#include "exif.h"
// *****************************************************************************
// included header files
#include <exiv2/exv_msvc.h>
#include <exiv2/actions.hpp>
#include <exiv2/image.hpp>
#include <exiv2/jpgimage.hpp>
#include <exiv2/exiv2.hpp>
#include <exiv2/utils.hpp>
#include <exiv2/types.hpp>
#include <exiv2/exif.hpp>
#include <exiv2/canonmn.hpp>
#include <exiv2/iptc.hpp>
#include <exiv2/futils.hpp>
#ifndef EXV_HAVE_TIMEGM
# include <exiv2/timegm.h>
#endif
// + standard includes
#include <string>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <cstring>
#include <cstdio>
#include <ctime>
#include <cmath>
#include <cassert>
#include <sys/types.h> // for stat()
#include <sys/stat.h> // for stat()
#ifdef EXV_HAVE_UNISTD_H
# include <unistd.h> // for stat()
#endif
#ifdef _MSC_VER
# include <sys/utime.h>
#include ".\exif.h"
#else
# include <utime.h>
#endif
// Cexif
char* ConvertBSTRToLPSTR (BSTR bstrIn)
{
LPSTR pszOut = NULL;
if (bstrIn != NULL)
{
int nInputStrLen = SysStringLen (bstrIn);
// Double NULL Termination
int nOutputStrLen = WideCharToMultiByte(CP_ACP, 0, bstrIn, nInputStrLen, NULL, 0, 0, 0) + 2;
pszOut = new char [nOutputStrLen];
if (pszOut)
{
memset (pszOut, 0x00, sizeof (char)*nOutputStrLen);
WideCharToMultiByte (CP_ACP, 0, bstrIn, nInputStrLen, pszOut, nOutputStrLen, 0, 0);
}
}
return pszOut;
}
STDMETHODIMP Cexif::GetExif(BSTR FileName, BSTR Tag, VARIANT* OutVal)
{
if (!Exiv2::fileExists(ConvertBSTRToLPSTR(FileName), true))
return S_FALSE;
Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(ConvertBSTRToLPSTR(FileName));
image->readMetadata();
Exiv2::ExifData &exifData = image->exifData();
if (exifData.empty())
return S_FALSE;
Exiv2::ExifData::iterator md = exifData.findKey(Exiv2::ExifKey(ConvertBSTRToLPSTR(Tag)));
if (md != exifData.end()) {
BSTR a = A2BSTR( (md->value().toString()).c_str() );
OutVal->vt = VT_BSTR;
OutVal->bstrVal = a;
}
return S_OK;
}
STDMETHODIMP Cexif::GetExifInterpreted(BSTR FileName, VARIANT* OutVal)
{
if (!Exiv2::fileExists(ConvertBSTRToLPSTR(FileName), true))
return S_FALSE;
std::stringstream ssRetVal;
Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(ConvertBSTRToLPSTR(FileName));
image->readMetadata();
//exif info
Exiv2::ExifData &exifData = image->exifData();
if (!exifData.empty())
{
Exiv2::ExifData::const_iterator md;
for (md = exifData.begin(); md != exifData.end(); ++md)
{
ssRetVal << md->key() << ": "
<< std::dec << *md
<< std::endl;
}
}
//iptc
Exiv2::IptcData &iptcData = image->iptcData();
if (!iptcData.empty())
{
Exiv2::IptcData::const_iterator md;
for (md = iptcData.begin(); md != iptcData.end(); ++md)
{
ssRetVal << md->key() << ": "
<< std::dec << *md
<< std::endl;
}
}
OutVal->vt = VT_BSTR;
OutVal->bstrVal = A2BSTR(ssRetVal.str().c_str());
return S_OK;
}

View File

@ -1,47 +0,0 @@
// exif.h : Declaration of the Cexif
#pragma once
#include "resource.h" // main symbols
#include "exiv2com.h"
// Cexif
class ATL_NO_VTABLE Cexif :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<Cexif, &CLSID_exif>,
public IDispatchImpl<Iexif, &IID_Iexif, &LIBID_exiv2comLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
Cexif()
{
}
DECLARE_REGISTRY_RESOURCEID(IDR_EXIF)
BEGIN_COM_MAP(Cexif)
COM_INTERFACE_ENTRY(Iexif)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
return S_OK;
}
void FinalRelease()
{
}
public:
STDMETHOD(GetExif)(BSTR FileName, BSTR Tag, VARIANT* OutVal);
STDMETHOD(GetExifInterpreted)(BSTR FileName, VARIANT* OutVal);
};
OBJECT_ENTRY_AUTO(__uuidof(exif), Cexif)

View File

@ -1,27 +0,0 @@
HKCR
{
exiv2com.exif.1 = s 'exif Class'
{
CLSID = s '{2528ECB1-2A9F-4A03-936D-627266DE6E09}'
}
exiv2com.exif = s 'exif Class'
{
CLSID = s '{2528ECB1-2A9F-4A03-936D-627266DE6E09}'
CurVer = s 'exiv2com.exif.1'
}
NoRemove CLSID
{
ForceRemove {2528ECB1-2A9F-4A03-936D-627266DE6E09} = s 'exif Class'
{
ProgID = s 'exiv2com.exif.1'
VersionIndependentProgID = s 'exiv2com.exif'
ForceRemove 'Programmable'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
val AppID = s '%APPID%'
'TypeLib' = s '{F5740DA3-D13F-438C-86FC-7EE18908F2CC}'
}
}
}

View File

@ -1,53 +0,0 @@
// exiv2com.cpp : Implementation of DLL Exports.
#include "stdafx.h"
#include "resource.h"
#include "exiv2com.h"
class Cexiv2comModule : public CAtlDllModuleT< Cexiv2comModule >
{
public :
DECLARE_LIBID(LIBID_exiv2comLib)
DECLARE_REGISTRY_APPID_RESOURCEID(IDR_EXIV2COM, "{FA8DF9AF-3029-491A-8757-2E3DE2D7793C}")
};
Cexiv2comModule _AtlModule;
// DLL Entry Point
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
hInstance;
return _AtlModule.DllMain(dwReason, lpReserved);
}
// Used to determine whether the DLL can be unloaded by OLE
STDAPI DllCanUnloadNow(void)
{
return _AtlModule.DllCanUnloadNow();
}
// Returns a class factory to create an object of the requested type
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
}
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
// registers object, typelib and all interfaces in typelib
HRESULT hr = _AtlModule.DllRegisterServer();
return hr;
}
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
HRESULT hr = _AtlModule.DllUnregisterServer();
return hr;
}

View File

@ -1,9 +0,0 @@
; exiv2com.def : Declares the module parameters.
LIBRARY "exiv2com.DLL"
EXPORTS
DllCanUnloadNow PRIVATE
DllGetClassObject PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE

View File

@ -1,38 +0,0 @@
// exiv2com.idl : IDL source for exiv2com
//
// This file will be processed by the MIDL tool to
// produce the type library (exiv2com.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(0EFCEA47-65BD-454D-AF18-610869226CFB),
dual,
nonextensible,
helpstring("Iexif Interface"),
pointer_default(unique)
]
interface Iexif : IDispatch{
[id(3), helpstring("method GetExif")] HRESULT GetExif([in] BSTR FileName, [in] BSTR Tag, [out,retval] VARIANT* OutVal);
[id(4), helpstring("method GetExifInterpreted")] HRESULT GetExifInterpreted([in] BSTR FileName, [out,retval] VARIANT* OutVal);
};
[
uuid(F5740DA3-D13F-438C-86FC-7EE18908F2CC),
version(1.0),
helpstring("exiv2com 1.0 Type Library")
]
library exiv2comLib
{
importlib("stdole2.tlb");
[
uuid(2528ECB1-2A9F-4A03-936D-627266DE6E09),
helpstring("exif Class")
]
coclass exif
{
[default] interface Iexif;
};
};

View File

@ -1,139 +0,0 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""winres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"1 TYPELIB ""exiv2com.tlb""\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", "TODO: <Company name>"
VALUE "FileDescription", "TODO: <File description>"
VALUE "FileVersion", "1.0.0.1"
VALUE "LegalCopyright", "TODO: (c) <Company name>. All rights reserved."
VALUE "InternalName", "exiv2com.dll"
VALUE "OriginalFilename", "exiv2com.dll"
VALUE "ProductName", "TODO: <Product name>"
VALUE "ProductVersion", "1.0.0.1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
/////////////////////////////////////////////////////////////////////////////
//
// REGISTRY
//
IDR_EXIV2COM REGISTRY "exiv2com.rgs"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE
BEGIN
IDS_PROJNAME "exiv2com"
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// English (Canada) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENC)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// REGISTRY
//
IDR_EXIF REGISTRY "exif.rgs"
#endif // English (Canada) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
1 TYPELIB "exiv2com.tlb"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@ -1,11 +0,0 @@
HKCR
{
NoRemove AppID
{
'%APPID%' = s 'exiv2com'
'exiv2com.DLL'
{
val AppID = s '%APPID%'
}
}
}

View File

@ -1,242 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="exiv2com"
ProjectGUID="{6EEE7BDC-88EE-450D-B752-63DB7E50EA8E}"
Keyword="AtlProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;..\include&quot;;&quot;..\..&quot;"
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="5"
BufferSecurityCheck="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
BrowseInformation="1"
WarningLevel="3"
WarnAsError="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
IgnoreImportLibrary="TRUE"
AdditionalDependencies="..\exiv2lib\Debug\exiv2.lib"
OutputFile="$(OutDir)/exiv2com.dll"
LinkIncremental="2"
ModuleDefinitionFile=".\exiv2com.def"
GenerateDebugInformation="TRUE"
SubSystem="1"
ImportLibrary="$(OutDir)/exiv2com.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="FALSE"
TargetEnvironment="1"
GenerateStublessProxies="TRUE"
TypeLibraryName="$(IntDir)/exiv2com.tlb"
HeaderFileName="exiv2com.h"
DLLDataFileName=""
InterfaceIdentifierFileName="exiv2com_i.c"
ProxyFileName="exiv2com_p.c"/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="2"
UseOfATL="1"
ATLMinimizesCRunTimeLibraryUsage="FALSE"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;..\include&quot;;&quot;..\..&quot;"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL"
MinimalRebuild="FALSE"
RuntimeLibrary="4"
UsePrecompiledHeader="3"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
IgnoreImportLibrary="TRUE"
AdditionalDependencies="..\exiv2lib\Release\exiv2.lib"
OutputFile="$(OutDir)/exiv2com.dll"
LinkIncremental="1"
ModuleDefinitionFile=".\exiv2com.def"
GenerateDebugInformation="TRUE"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(OutDir)/exiv2com.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="FALSE"
TargetEnvironment="1"
GenerateStublessProxies="TRUE"
TypeLibraryName="$(IntDir)/exiv2com.tlb"
HeaderFileName="exiv2com.h"
DLLDataFileName=""
InterfaceIdentifierFileName="exiv2com_i.c"
ProxyFileName="exiv2com_p.c"/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
AdditionalIncludeDirectories="$(IntDir)"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\exif.cpp">
</File>
<File
RelativePath=".\exiv2com.cpp">
</File>
<File
RelativePath=".\exiv2com.def">
</File>
<File
RelativePath=".\exiv2com.idl">
</File>
<File
RelativePath=".\stdafx.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File
RelativePath=".\exif.h">
</File>
<File
RelativePath=".\Resource.h">
</File>
<File
RelativePath=".\stdafx.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
<File
RelativePath=".\exif.rgs">
</File>
<File
RelativePath=".\exiv2com.rc">
</File>
<File
RelativePath=".\exiv2com.rgs">
</File>
</Filter>
<Filter
Name="Generated Files"
SourceControlFiles="FALSE">
<File
RelativePath=".\exiv2com_i.c">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="0"/>
</FileConfiguration>
</File>
</Filter>
<File
RelativePath=".\ReadMe.txt">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,131 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="exiv2comPS"
ProjectGUID="{E5CADAC3-4276-4231-9626-49464C79682D}"
Keyword="AtlPSProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="DebugPS"
IntermediateDirectory="DebugPS"
ConfigurationType="2">
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;_DEBUG"
RuntimeLibrary="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib"
ModuleDefinitionFile="exiv2comPS.def"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;"/>
<Tool
Name="VCPreBuildEventTool"
Description="Checking for required files"
CommandLine="if exist dlldata.c goto :END
echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.
Exit 1
:END
"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="ReleasePS"
IntermediateDirectory="ReleasePS"
ConfigurationType="2">
<Tool
Name="VCCLCompilerTool"
Optimization="3"
PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;NDEBUG"
RuntimeLibrary="2"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib"
ModuleDefinitionFile="exiv2comPS.def"
OptimizeReferences="2"
EnableCOMDATFolding="2"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"
Description="Performing registration"
CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;"/>
<Tool
Name="VCPreBuildEventTool"
Description="Checking for required files"
CommandLine="if exist dlldata.c goto :END
echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.
Exit 1
:END
"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="">
</Filter>
<Filter
Name="Generated Files"
SourceControlFiles="FALSE">
<File
RelativePath=".\dlldata.c">
</File>
<File
RelativePath=".\exiv2com_i.c">
</File>
<File
RelativePath=".\exiv2com_p.c">
</File>
</Filter>
<File
RelativePath=".\exiv2comps.def">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,9 +0,0 @@
LIBRARY "exiv2comPS"
EXPORTS
DllGetClassObject PRIVATE
DllCanUnloadNow PRIVATE
GetProxyDllInfo PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE

View File

@ -1,18 +0,0 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by exiv2com.rc
//
#define IDS_PROJNAME 100
#define IDR_EXIV2COM 101
#define IDR_EXIF 102
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 201
#define _APS_NEXT_COMMAND_VALUE 32768
#define _APS_NEXT_CONTROL_VALUE 201
#define _APS_NEXT_SYMED_VALUE 103
#endif
#endif

View File

@ -1,22 +0,0 @@
<html>
<body>
<img src="sample.jpg" width=600><p>
<%
'object initialisation
Dim oExiv2
Set oExiv2 = Server.CreateObject("exiv2com.Exif")
'filename
Dim strFileName
strFileName = Server.MapPath("./") & "\sample.jpg"
'GetExif method
Response.Write "<b>GetExif method</b><br>"
Response.Write oExiv2.GetExif(strFileName, "Exif.Image.Model") & "<p>"
'GetExifInterpreted method
Response.Write "<b>GetExifInterpreted method</b><br>"
Response.Write Replace(oExiv2.GetExifInterpreted(strFileName), vbLf, "<br>")
%>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,5 +0,0 @@
// stdafx.cpp : source file that includes just the standard includes
// exiv2com.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"

View File

@ -1,42 +0,0 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
#pragma once
#ifndef STRICT
#define STRICT
#endif
// Modify the following defines if you have to target a platform prior to the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different platforms.
#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.
#define WINVER 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
#endif
#ifndef _WIN32_WINNT // Allow use of features specific to Windows NT 4 or later.
#define _WIN32_WINNT 0x0400 // Change this to the appropriate value to target Windows 2000 or later.
#endif
#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif
#ifndef _WIN32_IE // Allow use of features specific to IE 4.0 or later.
#define _WIN32_IE 0x0400 // Change this to the appropriate value to target IE 5.0 or later.
#endif
#define _ATL_APARTMENT_THREADED
#define _ATL_NO_AUTOMATIC_NAMESPACE
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
// turns off ATL's hiding of some common and often safely ignored warning messages
#define _ATL_ALL_WARNINGS
#include "resource.h"
#include <atlbase.h>
#include <atlcom.h>
using namespace ATL;

View File

@ -149,9 +149,6 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
<File
RelativePath="..\..\src\gifimage.cpp">
</File>
<File
RelativePath="..\..\src\ifd.cpp">
</File>
<File
RelativePath="..\..\src\image.cpp">
</File>
@ -170,9 +167,6 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
<File
RelativePath="..\..\src\makernote.cpp">
</File>
<File
RelativePath="..\..\src\makernote2.cpp">
</File>
<File
RelativePath="..\..\src\metadatum.cpp">
</File>
@ -224,9 +218,6 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
<File
RelativePath="..\..\src\tiffimage.cpp">
</File>
<File
RelativePath="..\..\src\tiffparser.cpp">
</File>
<File
RelativePath="..\..\src\tiffvisitor.cpp">
</File>
@ -236,6 +227,9 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
<File
RelativePath="..\..\src\value.cpp">
</File>
<File
RelativePath="..\..\src\version.cpp">
</File>
<File
RelativePath="..\..\src\xmp.cpp">
</File>
@ -256,18 +250,21 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
<File
RelativePath="..\..\src\canonmn.hpp">
</File>
<File
RelativePath="..\..\config.h">
</File>
<File
RelativePath="..\..\src\convert.hpp">
</File>
<File
RelativePath="..\..\src\cr2image.hpp">
</File>
<File
RelativePath="..\..\src\cr2image_int.hpp">
</File>
<File
RelativePath="..\..\src\crwimage.hpp">
</File>
<File
RelativePath="..\..\src\crwimage_int.hpp">
</File>
<File
RelativePath="..\..\src\datasets.hpp">
</File>
@ -277,17 +274,23 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
<File
RelativePath="..\..\src\exif.hpp">
</File>
<File
RelativePath="..\..\src\exv_msvc.h">
</File>
<File
RelativePath="..\..\src\fujimn.hpp">
</File>
<File
RelativePath="..\..\src\futils.hpp">
</File>
<File
RelativePath="..\..\src\getopt_win32.h">
</File>
<File
RelativePath="..\..\src\gifimage.hpp">
</File>
<File
RelativePath="..\..\src\ifd.hpp">
RelativePath="..\..\src\i18n.h">
</File>
<File
RelativePath="..\..\src\image.hpp">
@ -302,10 +305,7 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
RelativePath="..\..\src\jpgimage.hpp">
</File>
<File
RelativePath="..\..\src\makernote.hpp">
</File>
<File
RelativePath="..\..\src\makernote2.hpp">
RelativePath="..\..\src\makernote_int.hpp">
</File>
<File
RelativePath="..\..\src\metadatum.hpp">
@ -328,6 +328,9 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
<File
RelativePath="..\..\src\orfimage.hpp">
</File>
<File
RelativePath="..\..\src\orfimage_int.hpp">
</File>
<File
RelativePath="..\..\src\panasonicmn.hpp">
</File>
@ -359,16 +362,19 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
RelativePath="..\..\src\tgaimage.hpp">
</File>
<File
RelativePath="..\..\src\tiffcomposite.hpp">
RelativePath="..\..\src\tiffcomposite_int.hpp">
</File>
<File
RelativePath="..\..\src\tifffwd_int.hpp">
</File>
<File
RelativePath="..\..\src\tiffimage.hpp">
</File>
<File
RelativePath="..\..\src\tiffparser.hpp">
RelativePath="..\..\src\tiffimage_int.hpp">
</File>
<File
RelativePath="..\..\src\tiffvisitor.hpp">
RelativePath="..\..\src\tiffvisitor_int.hpp">
</File>
<File
RelativePath="..\..\src\types.hpp">
@ -376,6 +382,9 @@ copy /y $(TargetPath) $(SolutionDir)\lib\$(TargetFileName)
<File
RelativePath="..\..\src\value.hpp">
</File>
<File
RelativePath="..\..\src\version.hpp">
</File>
<File
RelativePath="..\..\src\xmp.hpp">
</File>

View File

@ -1,143 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="ifd-test"
ProjectGUID="{F96ACB3E-B41C-44FA-BB88-954171D5D0BA}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;..\include&quot;;&quot;..\..&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="5"
BufferSecurityCheck="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
WarningLevel="3"
WarnAsError="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="..\exiv2lib\Debug\exiv2.lib"
OutputFile="$(OutDir)/ifd-test.exe"
LinkIncremental="2"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/ifd-test.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="copy /y $(TargetPath) $(SolutionDir)\bin\$(TargetFileName)
"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;..\include&quot;;&quot;..\..&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="4"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
WarningLevel="3"
WarnAsError="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="..\exiv2lib\Release\exiv2.lib"
OutputFile="$(OutDir)/ifd-test.exe"
LinkIncremental="1"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath="..\..\samples\ifd-test.cpp">
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,143 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="makernote-test"
ProjectGUID="{AB0BA03E-2B09-4DCE-966F-3F5CCA01355C}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;..\include&quot;;&quot;..\..&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="5"
BufferSecurityCheck="TRUE"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
WarningLevel="3"
WarnAsError="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="..\exiv2lib\Debug\exiv2.lib"
OutputFile="$(OutDir)/makernote-test.exe"
LinkIncremental="2"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/makernote-test.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="copy /y $(TargetPath) $(SolutionDir)\bin\$(TargetFileName)
"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;..\include&quot;;&quot;..\..&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="4"
RuntimeTypeInfo="TRUE"
UsePrecompiledHeader="0"
WarningLevel="3"
WarnAsError="TRUE"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="..\exiv2lib\Release\exiv2.lib"
OutputFile="$(OutDir)/makernote-test.exe"
LinkIncremental="1"
GenerateDebugInformation="TRUE"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath="..\..\samples\makernote-test.cpp">
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -61,6 +61,13 @@ typedef int pid_t;
#define EXV_SEPERATOR_STR "\\"
#define EXV_SEPERATOR_CHR '\\'
/* Todo: Shared library support */
#define EXV_IMPORT
#define EXV_EXPORT
#define EXV_DLLLOCAL
#define EXV_DLLPUBLIC
#define EXIV2API
/*
Visual Studio C++ 2005 (8.0)
Disable warnings about 'deprecated' standard functions

View File

@ -288,7 +288,8 @@ namespace Exiv2
if (idx != std::string::npos && idx > 0)
{
#ifndef SUPPRESS_WARNINGS
std::cerr << "Exiv2::Jp2Image::readMetadata: Removing " << idx
std::cerr << "Exiv2::Jp2Image::readMetadata: Removing "
<< static_cast<uint32_t>(idx)
<< " characters from the beginning of the XMP packet\n";
#endif
xmpPacket_ = xmpPacket_.substr(idx);
@ -444,7 +445,7 @@ namespace Exiv2
{
const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00};
DataBuf rawExif(sizeof(ExifHeader) + blob.size());
DataBuf rawExif(static_cast<long>(sizeof(ExifHeader) + blob.size()));
memcpy(rawExif.pData_, ExifHeader, sizeof(ExifHeader));
memcpy(rawExif.pData_ + sizeof(ExifHeader), &blob[0], blob.size());

View File

@ -435,7 +435,9 @@ namespace Exiv2 {
} // while there are segments to process
if ( iptcBlob.size() > 0
&& IptcParser::decode(iptcData_, &iptcBlob[0], iptcBlob.size())) {
&& IptcParser::decode(iptcData_,
&iptcBlob[0],
static_cast<uint32_t>(iptcBlob.size()))) {
#ifndef SUPPRESS_WARNINGS
std::cerr << "Warning: Failed to decode IPTC metadata.\n";
#endif
@ -611,7 +613,7 @@ namespace Exiv2 {
uint32_t exifSize = rawExif.size_;
if (wm == wmIntrusive) {
pExifData = &blob[0];
exifSize = blob.size();
exifSize = static_cast<uint32_t>(blob.size());
}
if (exifSize > 0) {
// Write APP1 marker, size of APP1 field, Exif id and Exif data

View File

@ -42,6 +42,7 @@
// + standard includes
#include <iosfwd>
#include <cassert>
#include <cstdarg>
// *****************************************************************************
// namespace extensions

View File

@ -421,7 +421,7 @@ namespace Exiv2 {
if (tc == 0) {
TiffComponent::AutoPtr atc(new TiffDirectory(dt, ts2->group_));
tc = addChild(atc);
setCount(ifds_.size());
setCount(static_cast<uint32_t>(ifds_.size()));
}
return tc->addPath(tag, tiffPath);
} // TiffSubIfd::doAddPath
@ -469,7 +469,7 @@ namespace Exiv2 {
TiffComponent::AutoPtr atc(ts->newTiffCompFct_(tg, ts));
assert(ts->extendedTag_ != Tag::next);
tc = addChild(atc);
setCount(elements_.size());
setCount(static_cast<uint32_t>(elements_.size()));
}
return tc->addPath(tag, tiffPath);
} // TiffArrayEntry::doAddPath
@ -657,7 +657,7 @@ namespace Exiv2 {
uint32_t TiffDirectory::doCount() const
{
return components_.size();
return static_cast<uint32_t>(components_.size());
}
uint32_t TiffEntryBase::doCount() const
@ -924,7 +924,7 @@ namespace Exiv2 {
<< std::setfill('0') << std::hex << tag() << std::dec
<< ": Writing offset " << imageIdx << "\n";
#endif
DataBuf buf(strips_.size() * 4);
DataBuf buf(static_cast<long>(strips_.size()) * 4);
uint32_t idx = 0;
for (Strips::const_iterator i = strips_.begin(); i != strips_.end(); ++i) {
idx += writeOffset(buf.pData_ + idx, imageIdx, tiffType(), byteOrder);
@ -942,7 +942,7 @@ namespace Exiv2 {
uint32_t dataIdx,
uint32_t& /*imageIdx*/)
{
DataBuf buf(ifds_.size() * 4);
DataBuf buf(static_cast<long>(ifds_.size()) * 4);
uint32_t idx = 0;
for (Ifds::const_iterator i = ifds_.begin(); i != ifds_.end(); ++i) {
idx += writeOffset(buf.pData_ + idx, offset + dataIdx, tiffType(), byteOrder);
@ -1231,12 +1231,12 @@ namespace Exiv2 {
uint32_t TiffImageEntry::doSize() const
{
return strips_.size() * 4;
return static_cast<uint32_t>(strips_.size()) * 4;
} // TiffImageEntry::doSize
uint32_t TiffSubIfd::doSize() const
{
return ifds_.size() * 4;
return static_cast<uint32_t>(ifds_.size()) * 4;
} // TiffSubIfd::doSize
uint32_t TiffMnEntry::doSize() const

View File

@ -614,7 +614,7 @@ namespace Exiv2 {
encoder.add(createdTree.get(), parsedTree.get(), createFct);
// Write binary representation from the composite tree
uint32_t offset = pHeader->write(blob);
uint32_t imageIdx(-1);
uint32_t imageIdx(uint32_t(-1));
uint32_t len = createdTree->write(blob, pHeader->byteOrder(), offset, uint32_t(-1), uint32_t(-1), imageIdx);
// Avoid writing just the header if there is no IFD data
if (len == 0) blob.clear();

View File

@ -458,7 +458,9 @@ namespace Exiv2 {
if (!xmpPacket.empty()) {
// Set the XMP Exif tag to the new value
Value::AutoPtr value = Value::create(unsignedByte);
value->read(reinterpret_cast<const byte*>(&xmpPacket[0]), xmpPacket.size(), invalidByteOrder);
value->read(reinterpret_cast<const byte*>(&xmpPacket[0]),
static_cast<long>(xmpPacket.size()),
invalidByteOrder);
Exifdatum xmpDatum(xmpKey, value.get());
exifData_.add(xmpDatum);
}

View File

@ -23,6 +23,16 @@
* Still in the public domain.
*/
#include <sys/types.h>
#ifdef EXV_HAVE_STDINT_H
# include <stdint.h>
#endif
/* MSVC doesn't provide C99 types, but it has MS specific variants */
#ifdef _MSC_VER
typedef unsigned __int32 uint32_t;
#endif
typedef unsigned char md5byte;
typedef uint32_t UWORD32;

View File

@ -1,7 +1,3 @@
#include <cstring>
using namespace std;
/*
* This code implements the MD5 message-digest algorithm.
* The algorithm is due to Ron Rivest. This code was
@ -24,11 +20,12 @@ using namespace std;
* Still in the public domain.
*/
#include <sys/types.h>
#include <stdint.h>
#include <cstring>
#include "MD5.h"
using namespace std;
static void
byteSwap(UWORD32 *buf, unsigned words)
{

View File

@ -86,6 +86,10 @@ SHELL = /bin/sh
# For a debug build, replace -DNDEBUG=1 with -DDEBUG=1 -D_DEBUG=1
CPPFLAGS += -I../include -funsigned-char -DNDEBUG=1 $(EXPAT_CPPFLAGS)
ifdef HAVE_STDINT
CPPFLAGS += -DEXV_HAVE_STDINT_H=1
endif
LDFLAGS += $(EXPAT_LDFLAGS)
LIBS += $(EXPAT_LIBS)