diff --git a/include/exiv2/rwlock.hpp b/include/exiv2/rwlock.hpp index 68b88305..04afe457 100644 --- a/include/exiv2/rwlock.hpp +++ b/include/exiv2/rwlock.hpp @@ -22,11 +22,9 @@ #ifndef RW_LOCK_HPP #define RW_LOCK_HPP -#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW__) +#ifdef _MSC_VER #include -#endif - -#ifndef _MSC_VER +#else #include #endif diff --git a/src/basicio.cpp b/src/basicio.cpp index 63d54602..95589cd2 100644 --- a/src/basicio.cpp +++ b/src/basicio.cpp @@ -72,6 +72,7 @@ EXIV2_RCSID("@(#) $Id$") #if defined(__MINGW__) || (defined(WIN32) && !defined(__CYGWIN)) // Windows doesn't provide nlink_t typedef short nlink_t; +# include # include #endif diff --git a/src/convert.cpp b/src/convert.cpp index 025228c9..26a5fd8b 100644 --- a/src/convert.cpp +++ b/src/convert.cpp @@ -51,6 +51,10 @@ EXIV2_RCSID("@(#) $Id$") #endif #include +#if defined WIN32 && !defined __CYGWIN__ +# include +#endif + #ifdef EXV_HAVE_ICONV # include # include diff --git a/src/exiv2app.hpp b/src/exiv2app.hpp index 3fcf4e80..affbcb80 100644 --- a/src/exiv2app.hpp +++ b/src/exiv2app.hpp @@ -34,6 +34,7 @@ #include #include "utils.hpp" +#include "types.hpp" // + standard includes #include @@ -54,7 +55,9 @@ #include #include #include -#if !defined(__CYGWIN__) && !defined(__MINGW__) +#if defined(__CYGWIN__) || defined(__MINGW__) +#include +#else #include #endif #endif diff --git a/src/http.cpp b/src/http.cpp index 43c98a22..86b7ebb7 100644 --- a/src/http.cpp +++ b/src/http.cpp @@ -57,6 +57,7 @@ // platform specific code #if defined(WIN32) || defined(_MSC_VER) || defined(__MINGW__) #include +#include #include #ifndef __MINGW__ #define snprintf sprintf_s diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp index ca61c347..9afcb58b 100644 --- a/src/jpgimage.cpp +++ b/src/jpgimage.cpp @@ -35,7 +35,9 @@ EXIV2_RCSID("@(#) $Id$") #include "error.hpp" #include "futils.hpp" -#ifndef WIN32 +#ifdef WIN32 +#include +#else #define BYTE char #define USHORT uint16_t #define ULONG uint32_t diff --git a/src/makernote.cpp b/src/makernote.cpp index 316d8d15..4816f88c 100644 --- a/src/makernote.cpp +++ b/src/makernote.cpp @@ -53,6 +53,7 @@ EXIV2_RCSID("@(#) $Id$") #include #include #else +#include #include /* older SDKs not have these */ # ifndef CSIDL_MYMUSIC diff --git a/src/types.cpp b/src/types.cpp index 85852557..df509703 100644 --- a/src/types.cpp +++ b/src/types.cpp @@ -35,6 +35,9 @@ EXIV2_RCSID("@(#) $Id$") #include "i18n.h" // for _exvGettext // + standard includes +#ifdef EXV_UNICODE_PATH +# include // for MultiByteToWideChar etc +#endif #include #include #include diff --git a/src/version.cpp b/src/version.cpp index b4f39e16..45e218f9 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -146,6 +146,7 @@ namespace Exiv2 { // platform specific support for dumpLibraryInfo #if defined(WIN32) +# include # include // tell MSVC to link psapi.