> > But so far I haven't seen that any of Windows developers here > tried to document dependencies created by different Windows C > compilers. I only heard few times that binaries created by compiler > XYZ do not work with some older version ZXY Windows version but > without any precise information which DLLs were missing or which > functionality was missing in the existing libraries on destination > host and which DLLs should be upgraded. > Just simply Windows developers accepted that some libraries > comes with system and if not or they are in too old version > then it's user problem.
It's quite an important question if someone wants to avoid requiring the installation (and testing) of various "redist" kits along with the Harbour executable. F.e. MinGW needs msvcrt.dll, but I have no idea with which OS versions this .dll is present (above Win98 seems a safe estimate), "sometimes" it also needs mingwm10.dll. Cygwin .exes need cygwin1.dll and potentionally others. Depending on MSVC link settings (-M? switches) and MSVS version, it can require several kinds of .dlls, some of these not available on Windows by default. Harbour default is to not require any external .dlls. 3rd party .dlls may also require all combination of above dlls (depending on how they were built and with which compiler), so they also need to be evaluated. If you want to create static libs, it has to be ensured that all of them gets built with similar -M settings, otherwise there will be a mess at link time. Usually MSVC seems to be way more messy here than MinGW. I'd also be happy to read some definitive guide on the above topic, because I don't know more about it than it's absolutely required, and my general approach is to avoid any kind of external dependencies except well-known Windows system .dlls. depends.exe can be used to inspect the dependency tree. Brgds, Viktor
_______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour