Hello, I'm using libtool 2.4 under Cygwin 1.7 to build a project using i686-w64-mingw32-g++ 4.5.3 cross-compiler. This mostly works just fine (in particular, it's a real relief to not have to worry about the identity mounts and paths compatibility between MinGW and Cygwin) but I get an error at the end of the build:
% make test.exe ... CXXLD test.exe cc1: warnings being treated as errors ./.libs/lt-test.c:39:5: error: '_putenv' redeclared without dllimport attribute: previous dllimport ignored Of course, as the "cc1:" line indicates, usually it's just a warning but the project I'm working on builds with -Werror so it becomes fatal. Of course, the simplest option would be to remove -Werror but I'd prefer to keep it and correct the warning instead. Unfortunately I don't really what's the best way to do it. The code of the wrapper script looks like this: /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif And as this project build options also include "-std=c++0x", __STRICT_ANSI__ is defined. For the compiler I use it would be enough to add _CRTIMP in front of the declaration as this is how _putenv() is really declared in /usr/i686-w64-mingw32/sys-root/mingw/include/stdlib.h but I'm not sure if all MinGW versions define _CRTIMP. I did check that 3.4.5, 4.4.0 and 4.5.0 (native, i.e. not Cygwin) MinGW versions do define it but I don't have access to earlier versions any more. Does anybody know if _CRTIMP is safe to use for all MinGW versions? And, if so, could someone please add it to the libtool code generating this wrapper script? TIA, VZ
pgpI040f4gxME.pgp
Description: PGP signature
_______________________________________________ https://lists.gnu.org/mailman/listinfo/libtool