Cygwin has exported error.h since 1.7.10. --- origsrc/gettext-0.18.1.1/gettext-tools/libgettextpo/error.h 2010-02-16 15:33:13.000000000 -0600 +++ src/gettext-0.18.1.1/gettext-tools/libgettextpo/error.h 2013-01-24 22:19:12.749318500 -0600 @@ -49,14 +49,14 @@ extern void error_at_line (int __status, /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this function without parameters instead. */ -extern DLL_VARIABLE void (*error_print_progname) (void); +extern __declspec(dllimport) void (*error_print_progname) (void); /* This variable is incremented each time `error' is called. */ -extern DLL_VARIABLE unsigned int error_message_count; +extern __declspec(dllimport) unsigned int error_message_count; /* Sometimes we want to have at most one error per line. This variable controls whether this mode is selected or not. */ -extern DLL_VARIABLE int error_one_per_line; +extern __declspec(dllimport) int error_one_per_line; #ifdef __cplusplus } --- origsrc/gettext-0.18.1.1/gettext-tools/woe32dll/gettextlib-exports.c 2010-06-06 07:49:58.000000000 -0500 +++ src/gettext-0.18.1.1/gettext-tools/woe32dll/gettextlib-exports.c 2013-01-24 21:17:39.584846100 -0600 @@ -18,9 +18,6 @@ #include "woe32dll/export.h" VARIABLE(argmatch_die) -VARIABLE(error_message_count) -VARIABLE(error_one_per_line) -VARIABLE(error_print_progname) VARIABLE(error_with_progname) VARIABLE(exit_failure) VARIABLE(gl_array_list_implementation)