This is the mail archive of the pthreads-win32@sourceware.org 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


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?


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