[gdal-dev] Call for review and discussion on RFC96: Deferred in-tree C++ plugin loading

Even Rouault even.rouault at spatialys.com
Thu Nov 2 14:20:06 PDT 2023


Howard,
>
> I would like to see some language that describes the expectations for 
> version compatibility of plugins (ie, what happens with a plugin built 
> against x.0 is used against a main library of y.0).

This RFC actually doesn't change anything regarding this. See the 
mention of the GDAL_CHECK_VERSION macro in 
https://gdal.org/tutorials/raster_driver_tut.html#the-driver which 
covers this topic (I've just slightly tuned it to the below version 
which will be online soon):

"Note the use of GDAL_CHECK_VERSION macro. This is a macro that should 
be used by drivers that can be built as a plugin. As the GDAL C++ ABI 
may, and will, change between GDAL feature releases (for example from 
GDAL 3.x.0 to 3.y.0), it is necessary to recompile your driver against 
the header files of the GDAL feature version with which you want to make 
it work. The GDAL_CHECK_VERSION macro will check that the GDAL version 
with which the driver was compiled and the version against which it is 
running are compatible (checking that the major and minor version 
numbers are equal). The C++ ABI will however remain stable for releases 
of the same release branch (that is for bug fixes releases x.y.z of a 
given feature release x.y.0)."

Even

-- 
http://www.spatialys.com
My software is free, but my time generally not.



More information about the gdal-dev mailing list