[QGIS-Developer] Help fixing code for gcc 4.8

Alessandro Pasotti apasotti at gmail.com
Thu May 23 00:46:54 PDT 2019


Henrik,

I'm afraid you will have an hard time: we are using more and more C++11
list initialization (aka *brace initialization) * in the code,
if your compiler do not support it well, you will get a lot of errors.

That said if it's just that single line that blocks your porting feel free
to make a pull request to change it.

You may also try to remove "auto":
const QgsLayerTreeLayer* treeLayer { static_cast<const QgsLayerTreeLayer
*>( childNode ) };


for some background:

https://stackoverflow.com/questions/18222926/why-is-list-initialization-using-curly-braces-better-than-the-alternatives
http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-list

an "amusing" read:
http://mikelui.io/2019/01/03/seriously-bonkers.html



On Thu, May 23, 2019 at 9:01 AM Henrik K <hege at hege.li> wrote:

>
> I'm almost near finishing, but qgswmsrenderer.cpp is throwing a lot of
> errors (for bot 3.4.8 and 3.6.3).  Could someone have a look at this:
>
> https://pastebin.com/JS7uKAZ7
>
> The two expression errors there I fixed per previous advice..
> const auto { } -> ( )
>
> Cheers,
> Henrik
>
>
> On Wed, May 22, 2019 at 10:50:47AM -0700, Elias Carter wrote:
> > > But if I manage to get this running I'll post all my patches somewhere.
> >
> > Hi Henrik,
> > I would be interested in collaborating with you to get QGIS 3 running on
> RHEL/
> > CentOS 7.
> > Would you be willing to share your current patchset and maybe I can help
> out
> > with getting this working?
> >
> > Thanks,
> > Elias
> >
> >
> > On Wed, May 22, 2019 at 10:40 AM Henrik Krohns <[1]hege at hege.li> wrote:
> >
> >
> >     Thanks, it worked, so simple..
> >
> >     Are fixes like this good canditate to actually raise an issue? I
> have no
> >     clue
> >     on all the C++ versions etc and what stuff is legacy not intended to
> use
> >     these days..
> >
> >     But if I manage to get this running I'll post all my patches
> somewhere.
> >
> >     On Wed, May 22, 2019 at 05:40:45PM +0200, Alessandro Pasotti wrote:
> >     >
> >     > Hi Henrik,
> >     >
> >     > Try to replace {} with (), such as:
> >     >
> >     > const auto treeLayer ( static_cast<const QgsLayerTreeLayer *>(
> childNode
> >     ) );
> >     >
> >     >
> >     >
> >     > On Wed, May 22, 2019 at 4:42 PM Henrik Krohns <[1][2]hege at hege.li>
> wrote:
> >     >
> >     >
> >     >     Hello,
> >     >
> >     >     I've been trying to compile QGis on RHEL7 / GCC 4.8.5 all
> day.  It
> >     seems
> >     >     lots of code assume newer compiler.  I've fixed many cases
> already,
> >     but
> >     >     here's something I can't manage..  not really proficient in
> C++..
> >     >
> >     >     src/server/services/wms/qgswmsgetcapabilities.cpp: In function
> 'bool
> >     >     QgsWms::hasQueryableChildren(const QgsLayerTreeNode*, const
> >     QStringList&)':
> >     >     src/server/services/wms/qgswmsgetcapabilities.cpp:1893:31:
> error:
> >     base
> >     >     operand of '->' has non-pointer type 'const
> std::initializer_list
> >     <const
> >     >     QgsLayerTreeLayer* const>'
> >     >            const auto l { treeLayer->layer() };
> >     >                                    ^
> >     >     src/server/services/wms/qgswmsgetcapabilities.cpp:1893:41:
> error:
> >     unable to
> >     >     deduce 'const std::initializer_list<const auto>' from
> '{<expression
> >     error>}
> >     >     '
> >     >            const auto l { treeLayer->layer() };
> >     >
> >     >     The code..
> >     >
> >     >         else if ( childNode->nodeType() ==
> QgsLayerTreeNode::NodeLayer )
> >     >         {
> >     >           const auto treeLayer { static_cast<const
> QgsLayerTreeLayer *>(
> >     >     childNode ) };
> >     >           const auto l { treeLayer->layer() };
> >     >           return ! wmsRestrictedLayers.contains( l->name() ) &&
> l->flags
> >     >     ().testFlag( QgsMapLayer::Identifiable );
> >     >
> >     >     Any ideas how to rewrite?
> >     >
> >     >     Cheers,
> >     >     Henrik
> >     >
> >     >     _______________________________________________
> >     >     QGIS-Developer mailing list
> >     >     [2][3]QGIS-Developer at lists.osgeo.org
> >     >     List info: [3][4]https://lists.osgeo.org/mailman/listinfo/
> >     qgis-developer
> >     >     Unsubscribe: [4][5]https://lists.osgeo.org/mailman/listinfo/
> >     qgis-developer
> >     >
> >     >
> >     >
> >     > --
> >     > Alessandro Pasotti
> >     > w3:   [5][6]www.itopen.it
> >     >
> >     > References:
> >     >
> >     > [1] mailto:[7]hege at hege.li
> >     > [2] mailto:[8]QGIS-Developer at lists.osgeo.org
> >     > [3] [9]https://lists.osgeo.org/mailman/listinfo/qgis-developer
> >     > [4] [10]https://lists.osgeo.org/mailman/listinfo/qgis-developer
> >     > [5] [11]http://www.itopen.it/
> >     _______________________________________________
> >     QGIS-Developer mailing list
> >     [12]QGIS-Developer at lists.osgeo.org
> >     List info: [13]
> https://lists.osgeo.org/mailman/listinfo/qgis-developer
> >     Unsubscribe: [14]
> https://lists.osgeo.org/mailman/listinfo/qgis-developer
> >
> >
> > References:
> >
> > [1] mailto:hege at hege.li
> > [2] mailto:hege at hege.li
> > [3] mailto:QGIS-Developer at lists.osgeo.org
> > [4] https://lists.osgeo.org/mailman/listinfo/qgis-developer
> > [5] https://lists.osgeo.org/mailman/listinfo/qgis-developer
> > [6] http://www.itopen.it/
> > [7] mailto:hege at hege.li
> > [8] mailto:QGIS-Developer at lists.osgeo.org
> > [9] https://lists.osgeo.org/mailman/listinfo/qgis-developer
> > [10] https://lists.osgeo.org/mailman/listinfo/qgis-developer
> > [11] http://www.itopen.it/
> > [12] mailto:QGIS-Developer at lists.osgeo.org
> > [13] https://lists.osgeo.org/mailman/listinfo/qgis-developer
> > [14] https://lists.osgeo.org/mailman/listinfo/qgis-developer
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer



-- 
Alessandro Pasotti
w3:   www.itopen.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20190523/2aa1d81f/attachment-0001.html>


More information about the QGIS-Developer mailing list