From mboxrd@z Thu Jan 1 00:00:00 1970 From: Erik Hensema To: 'Pthreads-win32' Subject: The makefile for nmake Date: Wed, 05 Jan 2000 03:18:00 -0000 Message-id: X-SW-Source: 2000/msg00003.html Hi, I see my version of the makefile for MS nmake is to be included in the new snapshot, but it contains an error: [...] pthread.dll: $(OBJ) pthread.def cl /LDd /Zi *.obj /Fepthread.dll \ pthread.def \ /link /nodefaultlib:libcmt \ msvcrt.lib This links the DLL to msvcrt.lib. The last two lines can be replaced by the /MD switch, which does the same. .c.obj:: cl /W3 /MT /nologo /Yd /Zi /I. \ /D_WIN32_WINNT=0x400 \ /DSTDCALL=_stdcall \ -c $< This links to libcmt.lib using /MT (yes, AFAIK even during a compile! in any case, the /MT switch is inconsistent which the link command above). Libcmt is the statically linked thread-safe c-lib, and msvcrt.lib is the dynamically linked thread-safe c-lib. Since using a DLL will save memory (it can be shared between processes static libs CAN'T be shared), i suggest using msvcrt. I've been using it with pthreads-win32 for some months now without any glich. Also, the link command includes "*.obj" which should be "$(OBJ)". Here's the diff: 46,49c46 < cl /LDd /Zi *.obj /Fepthread.dll \ < pthread.def \ < /link /nodefaultlib:libcmt \ < msvcrt.lib --- > cl /LDd /Zi /MD $(OBJ) /Fepthread.dll pthread.def 52c49 < cl /W3 /MT /nologo /Yd /Zi /I. \ --- > cl /W3 /MD /nologo /Yd /Zi /I. \ -- Erik Hensema Work: erik.hensema@group2000.nl Home: erik@hensema.xs4all.nl