[GRASS-dev] relbr6 - devbr6 differences

Glynn Clements glynn at gclements.plus.com
Wed Apr 9 08:18:59 PDT 2014


Benjamin Ducke wrote:

> GEOS is a heavy C++ beast and difficult to compile using GCC
> on Windows (at least if you want the result to pass all
> validation tests).
> 
> I would prefer to stick to C dependencies only for the core
> modules, if only to avoid DLL hell when mixing Visual C++
> and GCC DLLs on Windows (different name mangling styles).

It's not just name mangling. There isn't an official ABI for C++ on
Windows. Even if all components are compiled with MSVC, simply using
different compiler switches can result in incompatibilities (e.g. the
layout of pointer-to-member values can vary according to the /vm*
switches used).

Different compilers use different mangling rules because their code is
inherently incompatible. Changing the name mangling just prevents
people from trying to do things which aren't going to work anyhow.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list