--- code/trunk/pcre.h.in 2007/07/31 11:11:23 198 +++ code/trunk/pcre.h.in 2007/07/31 14:39:09 199 @@ -49,12 +49,18 @@ /* When an application links to a PCRE DLL in Windows, the symbols that are imported have to be identified as such. When building PCRE, the appropriate export setting is defined in pcre_internal.h, which includes this file. So we -don't change an existing definition of PCRE_EXP_DECL. */ +don't change existing definitions of PCRE_EXP_DECL and PCRECPP_EXP_DECL. */ -#ifndef PCRE_EXP_DECL -# ifdef _WIN32 -# ifndef PCRE_STATIC -# define PCRE_EXP_DECL extern __declspec(dllimport) +#if defined(_WIN32) && !defined(PCRE_STATIC) +# ifndef PCRE_EXP_DECL +# define PCRE_EXP_DECL extern __declspec(dllimport) +# endif +# ifdef __cplusplus +# ifndef PCRECPP_EXP_DECL +# define PCRECPP_EXP_DECL extern __declspec(dllimport) +# endif +# ifndef PCRECPP_EXP_DEFN +# define PCRECPP_EXP_DEFN __declspec(dllimport) # endif # endif #endif @@ -63,9 +69,18 @@ #ifndef PCRE_EXP_DECL # ifdef __cplusplus -# define PCRE_EXP_DECL extern "C" +# define PCRE_EXP_DECL extern "C" # else -# define PCRE_EXP_DECL extern +# define PCRE_EXP_DECL extern +# endif +#endif + +#ifdef __cplusplus +# ifndef PCRECPP_EXP_DECL +# define PCRECPP_EXP_DECL extern +# endif +# ifndef PCRECPP_EXP_DEFN +# define PCRECPP_EXP_DEFN # endif #endif