[gdal-dev] Win32 Default Build Options

Frank Warmerdam warmerdam at pobox.com
Sat Feb 2 01:50:02 EST 2008


Folks,

I spent some very frustrating hours trying to work out why the gsg (golden
surfer binary) format wasn't working on win32.  It turns out it used
dynamic_cast and our default build options didn't include /GR so dynamic
casts just didn't work.  Grr.

I have added /GR for Visual Studio .NET 2003 and earlier.  I'm not clear
whether it applies in VS.NET 2005 and later or not.

I also changed the default builds option an optimized non-debug build.  The
debug builds are too quirky (special runtime requirements) and so I don't
feel they are suitable as a default.

But what I would really like to do is remove /MDd in favor of /MD for debug
builds.  /MDd means we are building against the debug CRT - something I have
very rarely felt any need for.  I believe it is contrary to MS's EULA to
redistribute the debug CRT so the binaries are not very useful for reuse.
And it is hell mixing /MDd and /MD stuff.  Can someone remind me how /MDd
got added in nmake.opt?  I don't recall a discussion of the issue.

PS. /D_DEBUG apparently triggers a dependency on the debug CRT too, but
only in ATL code (for us this is only the stuff in the vb6 directory.  Boy,
did I swear a blue streak trying to work that out!

PPS. I'm not really so thrilled with all !IFDEF's in nmake.opt.  It is
interfering with the "essential simplicity" of it in my opinion.

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGeo, http://osgeo.org



More information about the gdal-dev mailing list