This is the mail archive of the mailing list for the pthreas-win32 project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Release Build dependency on debug rt in vs7.1


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.


-----Original Message-----
From: Ross Johnson [] 
Sent: Friday, August 07, 2009 9:38 PM
To: Fritz, Robert H. CIV NAVAIR/ 2424,1,607
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/ 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?

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]