Ross, Thanks for the response. I both built it using nmake and incorporated the args below into the sln. Inexplicably, somewhere along the line the debug dependency went away. Probably something stupid I was doing. I've built the DLL's using nmake and the IDE in vs6, 7, & 8. The primary difference being that the makefile's explicit linkage to wsock32.dll (Winsock 1.0) carried through all nmakes while all the IDE's chose WS2_32.dll (Winsock 2.0). Of course all builds selected their version specific RT dll. Rob -----Original Message----- From: Ross Johnson [mailto:Ross.Johnson@homemail.com.au] Sent: Friday, August 07, 2009 9:38 PM To: Fritz, Robert H. CIV NAVAIR/5.1.2.1 2424,1,607 Cc: pthreads-win32@sourceware.org Subject: Re: Release Build dependency on debug rt in vs7.1 The pre-built pthreadVC2.dll is built using nmake and the Makefile provided (the actual commandline would have been "nmake clean VC-inlined"). I'm guessing the project file isn't inlining, which could account for the larger size for the pre-built dll. For comparison with the project build, if you build with "nmake" as above you should find that the compile options are:- /O2 /Ob2 /W3 /MD /nologo /I. /D_WIN32_WINNT=0x400 /DHAVE_CONFIG_H /DPTW32_BUILD_INLINED Although there is a project file included in the sources it was contributed and is not otherwise maintained. I use the commandline tools for all building and testing of the dll because it makes the release process more consistent across the different build environments. Fritz, Robert H. CIV NAVAIR/5.1.2.1 2424,1,607 wrote: > I've downloaded pthreads-w32-2-8-0-release.exe and have built it in Release under vs7.1, letting VS7.1 import/convert the .dsw/.dsp into .sln/.vcproj. While pthreadVC2.dll builds without errors or warnings, my application, also built in Release as part of the same solution, complains if the VS7.1 RT Debug DLL msvcr71d.dll is not present. > > I've isolated the problem to pthreadVC2.dll when built in Release under vs7.1: > 1) I substituted the vs7.1 built DLL with Pre-built.2\lib\pthreadVC2.dll and msvcr71d.dll is no longer required. > 2) I've substituted the vs7.1 built DLL with a VS6 built pthreadVC2.dll I built using the original .dsw/.dsp and again my application runs without complaint. > > I've looked into the .proj file and see that it is properly using NDEBUG. > Can someone duplicate/explain how my DLL has acquired a dependency on msvcr71d.dll? For comparison purposes, my pthreadVC2.dll is 52kb when built in VS7.1. > > The last peculiarity I've noticed is that Pre-built.2\lib\pthreadVC2.dll is 85kb in size, while the one I built in VS6 using the provided .dsw/.dsp is 44kb. I would have expected them to be the same size. This would imply that Pre-built was created using a different method. > > Finally, has anyone played with the VS2010 beta to see what, if any, impact the multi-core support might have on this pthread code? >