Ron Blaschke wrote: > link -dll -def:libparrot.def -nologo -nodefaultlib -o > pge.dll pge_parse.obj pge_gen.obj pge_opt.obj pge_parsep5.obj > pge_parseglob.obj > LINK : warning LNK4044: unrecognized option '/o'; ignored > LINK : fatal error LNK1181: cannot open input file 'pge.dll' > NMAKE : fatal error U1077: 'link' : return code '0x49d' > Stop.
I've had a look at things, here's what necessary to get F<pge.dll> to link. 1) F<pge_gen.c> uses C<vsnprintf>, which is named C<_vsnprintf> on MSWin32. A simple hack would be to add the following to F<pge_gen.c>. #ifdef WIN32 # define vsnprintf _vsnprintf #endif 2) Linkage for F<pge.dll> should read something like this. link -dll -nologo -nodefaultlib -out:pge.dll pge_parse.obj pge_gen.obj pge_opt.obj pge_parsep5.obj pge_parseglob.obj msvcrt.lib kernel32.lib IMHO, compilation and linkage feels quite messy as a whole. I am not sure how to get the current link command to look like the one above, without doing something akin to F<dynclasses/build.pl> (cf line 40+). Ron