Corinna Vinschen writes: > These functions are defined on both platforms. What's *not* defined on > 64 bit, but only on 32 bit, are the same functions preceeded with an > underscore, e.g. _copysign. > > Can you please check again? There's something else going wrong here.
What's going wrong is that the symbols are also defined in libc.a on 32bit and only in libm.a on 64bit. The configury for Cygwin removes both -lc and -lm from the list of libraries that should explicitly be linked with, a comment is present that both libc and libm symlink to libcygwin and are implied by gcc anyway. However that doesn't seem to be the case anymore on both architectures (these files are not symlinked and not hardlinked either), but the symbol construction is just different enough for this not to work on 64bit it would seem. It works correctly if I don't let the configury check the symbols via nm in the link libraries, but instead compile a small test program for each symbol. That's probably the best solution, all things considered. It does not even seem to be that much slower. As for eaccess: even with the above change, it finds that eaccess is available in the library when trying to link to the symbol, but doesn't notice that it's not actually defined during compilation. So I'm adding _GNU_SOURCE to the flags (yup, that works just fine). Last but not least the Win32 and Win32-API modules have trouble with including the right files to get at wcslen and wcscpy. This is what these sources do to apparently get at those symbols: --8<---------------cut here---------------start------------->8--- #define WIN32_LEAN_AND_MEAN #include <wctype.h> #include <windows.h> #include <shlobj.h> --8<---------------cut here---------------end--------------->8--- --8<---------------cut here---------------start------------->8--- #define WIN32_LEAN_AND_MEAN /* Tell windows.h to skip much */ #include <windows.h> #include <winioctl.h> --8<---------------cut here---------------end--------------->8--- What needs to be defined and/or included to get these? From the MSDN documentation one would think that either string.h or wchar.h should do it, but is one of those preferrable? Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Samples for the Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#BlofeldSamplesExtra