Closed kdesnos closed 9 years ago
It seems to be probelms with the sanity checks in dll.c. It's expecting _WINDLL
to be defined but it never is. In the Visual Studio Project, the definition is inherited, but this doesn't seem to be the case if building from the makefile.
As a work around you can add this definition to the makefile so that, for example, line 137 becomes:
@ $(MAKE) /E /nologo EHFLAGS="$(VCFLAGS) /D_WINDLL /DPTW32_BUILD_INLINED" CLEANUP=__CLEANUP_C pthreadVC$(DLL_VER).dll
That is for building with nmake clean VC
, but if you want to build with a different non-static build, change that line instead.
You could also add the definition directly into dll.c instead.
I include the following here in case anyone else runs into the same trouble
In my case I received another error. This is caused by the TARGET_CPU environment variable not being set correctly.
version.rc(52) : error RC2188: D:\...\pthread-win32\RCa08532(406) : fatal error RC1116: RC terminating after preprocessor errors
To fix this, the target cpu can be manually defined in version.rc, by adding, for example, #define PTW32_ARCHx64
, or whichever target is required.
Thanks for your help, this solved the issue.
Shouldn't this be included in the readme ?
Hi,
When following the compilation guide written in the readme file, i got the following output:
My configuration is : Windows 7 64b MSVS 2010 express Windows SDK 7.1
FYI, I had the same issue when trying to compile on several computers, with different versions of MSVS.
Thanks for your help.