[gdal-dev] Starting a discussion on style and coding guidelines

Dmitry Baryshnikov bishop.dev at gmail.com
Thu May 5 01:14:56 PDT 2016


Hi,

I think it's time to go forward and shift to C++11 in i.e. GDAL 2.2 and 
drop old staff as it was with Windows mobile support, VB, etc.
Yes, it may be some regression in ABI, but this is less evil than 
support lot of ancient compilers.

During our work on cmake build system for GDAL I faced that some 
dependency library needs VC2013SP2 on Windows - i.e liblzma, as it needs 
C99.
We worked around it by including some logic to cmake, that if VC 
compiler is less than specific version the support of dependent features 
will be disabled.

By the way, the repo with cmake for GDAL is here: 
https://github.com/nextgis-extra/lib_gdal
The ubuntu ppa of libgdal2 build using cmake: 
https://launchpad.net/~nextgis/+archive/ubuntu/ppa/+packages
Windows builds also using cmake: http://nextgis.ru/en/borsch/

Please note, that most but not all drivers are available now (for 
details see readme in repo) and only python bindings.

Best regards,
     Dmitry

05.05.2016 02:45, Even Rouault пишет:
> Le jeudi 05 mai 2016 00:51:28, Mateusz Loskot a écrit :
>> On 4 May 2016 at 23:30, Kurt Schwehr <schwehr at gmail.com> wrote:
>>> To start off the conversation, I wrote up a doc on changing large C
>>> arrays on the stack to std::vectors to get this data off of the stack
>>> and to simplify initialization.
>> Since many, if not most, of the ideas rely on availability of the C++11
>> features,
>> it might be a good idea to first agree on C++11 as the lowest
>> required C++ compilation mode.
>>
>> Let's poll if there are any users who require C++03 at all.
> I think there are different topics in what Kurt proposes :
> - style and other changes that are not bound to a particular compiler version
> - changes potentially dependant of the C++ version
>
> Of the potential issues with requiring C++11, I can think of OSGeo4W. It is
> mostly(completely?) built with Visual Studio 2010. And from
> https://msdn.microsoft.com/en-us/library/hh567368.aspx , support of C++11 is
> only partial in VS 2010
>
> Regarding the current use of VS2010 in OSGeo4W, this is discussed here :
> https://lists.osgeo.org/pipermail/discuss/2016-February/015658.html
>
> Potentially we could imagine having GDAL compiled with a later VS version and
> have the rest using VS2010, since most (all?) other software in OSGeo4W use it
> probably through its C API. Hum, actually that must not be true for OTB that
> uses the C++ API I think. Perhaps Jürgen has something to add regarding this
> compiler issue ?
>
> On the other hand regarding dependencies of GDAL, the binary propritary SDKs
> with a C++ API could be a problem, although they will likely move on too.
> - FileGDB SDK 1.4: available for VS2010, VS2012, VS2013
> - ECW SDK 5.2.1: available for VS2010, VS2012, VS2013
> - MrSID SDK: I didn't check. Perhaps Kirk can tell us ?
> But I'm not sure about the compatibility of C++11 build against non-C++11
> builds in the VS realm : can a GDAL C++11 build link against a library built
> without C++11 enabled ? Will not there be ABI problems ?
>
> Even
>



More information about the gdal-dev mailing list