Got it. Thanks, Miller!
I attach a zip archive of bob~ with the modified makefiles and bob~.dll for the Windozers out there. Please let me know if there are any questions/comments/complaints.
I was assuming that I needed VC98 because of the recipes in the makefile.include that came in the bob~ folder. I guess it's been a while since that makefile got updated in the Windows section. I modified makefile.include along the lines of what is in makefile.subdir. I had to take out some of the double \s and also change 'Program Files' to 'Program Files (86)' -- I don't know why the 64-bit Visual Studio directory is different on my computer, but I don't know why a lot of things in Windows are the way they are. I also had to change 'CSYM=bob~_tilde' to 'CSYM=bob_tilde' in the makefile.
In any case it works and this can serve as an example of compiling externs in Windows, at least for the time being. One note is that I also had to add the directories for cl and link in my environment variable 'Path' and that I had to put the bob~ folder in Pd's extra folder. I also had to add the include directory $(VC)\src to the list of include dirs. For some reason that is where the file stddef.h lives on my computer.
On 1/15/2015 12:28 PM, Miller Puckette wrote:
I don't have my windows setup handy, but I see that in pd/extra/makefile.subdir I'm searching for libcmt.lib in an explicitly named directory (in that case, it's C:\Program Files\Microsoft Visual Studio 9.0\VC\lib but that's using visual studio 9; I guess for visual studio 6 it's similar).
So that perhaps answers the other question - I must have visual studio 9.
cheers Miller
On Thu, Jan 15, 2015 at 11:06:07AM -0800, David Medine wrote:
Yesterday I promised to compile [bob~] for windows, but I am having trouble delivering.
It /seems/ that the only way to compile externs on Windows is to have Visual Studio 6.0. I found a download online and have copied the Vc98 folder (which has all pertinent libraries and headers) into an appropriate path for the makefile to find. What bites is that when I hit make, the linker fails to acknowledge LIBCMT.lib (which is clearly in my Vc98 folder.) I scoured the web for some info on building dlls for Pd, but there isn't much there.
Is anyone out there developing externs in modern Windows (ie 7 or 8 with Visual Studio >=9.0)? I have considered making a project template for Visual Studio 9.0, but I anticipate problems with pd.lib and (lack of) back compatibility.
This is something that I need to have, so I'm happy to keep working on this, but if there is already a solution that someone can point me to, well, that'd be swell. Thanks, David _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list