[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