Mark, On 7/8/14, 12:14 PM, Mark Thomas wrote: > On 08/07/2014 16:39, Christopher Schultz wrote: > >> Anyway, here's what the above tool says tcnative-1.dll requires in >> terms of direct dependencies: >> >> - USER32.dll - PSAPI.dll - SHLWAPI.dll - KERNEL32.dll - >> ADVAPI32.dll - WS2_32.dll - MSWSOCK.dll - MSVCR100.dll >> >> Is that last one the one you were concerned about? > > Yes. > >> If so, what's the procedure for statically-linking that library >> into tcnative ... or, better yet, why is that library not necessary >> when using MSVS 2006 or whatever? > > Using VS6 or Mladen's toolkit, it builds against msvcrt.dll which is > part of the base OS. > > For reasons I haven't dug into, later versions of Visual Studio build > upon a newer version of that library and despite quite a lot of > searching I haven't found a way to make later versions of Visual > Studio build against the older dll.
Here is an exhaustive explanation of what in the world is going on: http://kobyk.wordpress.com/2007/07/20/dynamically-linking-with-msvcrtdll-using-visual-c-2005/ I found this via SO: http://stackoverflow.com/questions/10166412/how-to-link-against-msvcrt-dll-instead-of-msvcr100-dll-in-vc-10-0 The upshot is that one should use the Windows Driver (Development) Kit (WDK/DDK) instead of Visual Studio in order to get a more modern compiler (than the 2005 version) whilst enjoying a build against MSVCRT.dll. The SO answer mentions that the Windows 8 WDK no longer links against the system MSVCRT.dll, so it looks like the Windows 7 WDK is the latest version that will produce acceptable results. I'll investigate whether the WDK (which includes a C/C++ compiler and tool chain) alone can build OpenSSL, APR, and tcnative. If so, your existing instructions might be able to reduce another prerequisite (the Windows SDK itself). Thanks, -chris
signature.asc
Description: OpenPGP digital signature