Bug report #12145

Master does not compile with Qt5 libraries

Added by Bogdan Hlevca over 5 years ago. Updated over 5 years ago.

Status:Closed
Priority:Normal
Assignee:-
Category:Build/Install
Affected QGIS version:master Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:20339

Description

Building CXX object src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbollayerv2registry.cpp.o
[ 13%] Building CXX object src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbollayerv2utils.cpp.o
In file included from /software/software/Graphics/Maps/QGIS-QT5/src/core/qgsvectorlayer.h:27:0,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/symbology-ng/qgsmarkersymbollayerv2.h:20,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/symbology-ng/qgssymbolv2.cpp:20:
/software/software/Graphics/Maps/QGIS-QT5/src/core/qgsmaplayer.h:558:10: error: ‘void QgsMapLayer::connectNotify(const char*)’ marked override, but does not override
void connectNotify( const char * signal ) override;
^
In file included from /software/software/Graphics/Maps/QGIS-QT5/src/core/qgsvectorlayer.h:27:0,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/symbology-ng/qgsmarkersymbollayerv2.h:20,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/symbology-ng/qgsellipsesymbollayerv2.h:18,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/symbology-ng/qgssymbollayerv2registry.cpp:18:
/software/software/Graphics/Maps/QGIS-QT5/src/core/qgsmaplayer.h:558:10: error: ‘void QgsMapLayer::connectNotify(const char*)’ marked override, but does not override
void connectNotify( const char * signal ) override;
^
In file included from /software/software/Graphics/Maps/QGIS-QT5/src/core/qgsvectorlayer.h:27:0,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/symbology-ng/qgssymbollayerv2.cpp:20:
/software/software/Graphics/Maps/QGIS-QT5/src/core/qgsmaplayer.h:558:10: error: ‘void QgsMapLayer::connectNotify(const char*)’ marked override, but does not override
void connectNotify( const char * signal ) override;
^
src/core/CMakeFiles/qgis_core.dir/build.make:755: recipe for target 'src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbolv2.cpp.o' failed
make2: * [src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbolv2.cpp.o] Error 1
make2:
Waiting for unfinished jobs....
src/core/CMakeFiles/qgis_core.dir/build.make:801: recipe for target 'src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbollayerv2registry.cpp.o' failed
make2:
[src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbollayerv2registry.cpp.o] Error 1
src/core/CMakeFiles/qgis_core.dir/build.make:778: recipe for target 'src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbollayerv2.cpp.o' failed
make2: *
[src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbollayerv2.cpp.o] Error 1
In file included from /software/software/Graphics/Maps/QGIS-QT5/src/core/qgstolerance.h:20:0,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/qgssnapper.h:22,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/qgsproject.h:32,
from /software/software/Graphics/Maps/QGIS-QT5/src/core/symbology-ng/qgssymbollayerv2utils.cpp:24:
With ENABLE_QT5 ON the error is (compiles find with Qt4:

/software/software/Graphics/Maps/QGIS-QT5/src/core/qgsmaplayer.h:558:10: error: ‘void QgsMapLayer::connectNotify(const char*)’ marked override, but does not override
void connectNotify( const char * signal ) override;
^
src/core/CMakeFiles/qgis_core.dir/build.make:824: recipe for target 'src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbollayerv2utils.cpp.o' failed
make2: * [src/core/CMakeFiles/qgis_core.dir/symbology-ng/qgssymbollayerv2utils.cpp.o] Error 1
CMakeFiles/Makefile2:1116: recipe for target 'src/core/CMakeFiles/qgis_core.dir/all' failed
make1:
[src/core/CMakeFiles/qgis_core.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *
* [all] Error 2
[email protected]:/software/software/Graphics/Maps/QGIS-QT5/build>

Associated revisions

Revision 2e9cc1a4
Added by Matthias Kuhn over 5 years ago

Reduce debug noise and fix Qt5 compatibility

Fix #12145 (Master does not compile with Qt5 libraries)

History

#1 Updated by Giovanni Manghi over 5 years ago

  • Affected QGIS version changed from 2.6.0 to master
  • Category set to Build/Install

#2 Updated by Matthias Kuhn over 5 years ago

  • Status changed from Open to Closed

#3 Updated by Bogdan Hlevca over 5 years ago

  • Status changed from Closed to Reopened

Got master/latest from git. Still not compiling for me. Perhaps I need a QWT library based on QT5? Would QWT6 do better? I think that I tried that one and did not compile

[ 34%] Building CXX object src/providers/ogr/CMakeFiles/ogrprovider.dir/qgsogrdataitems.cpp.o
In file included from /usr/include/qwt5/qwt_plot.h:18:0,
from /software/software/Graphics/Maps/QGIS-QT5/build/src/gui/../ui/ui_qgsrasterhistogramwidgetbase.h:29,
from /software/software/Graphics/Maps/QGIS-QT5/src/gui/raster/qgsrasterhistogramwidget.h:20,
from /software/software/Graphics/Maps/QGIS-QT5/src/gui/raster/qgsrasterhistogramwidget.cpp:22:
/usr/include/qwt5/qwt_scale_map.h:92:5: error: ‘QT_STATIC_CONST’ does not name a type
QT_STATIC_CONST double LogMin;
^
/usr/include/qwt5/qwt_scale_map.h:93:5: error: ‘QT_STATIC_CONST’ does not name a type
QT_STATIC_CONST double LogMax;
^
src/gui/CMakeFiles/qgis_gui.dir/build.make:1092: recipe for target 'src/gui/CMakeFiles/qgis_gui.dir/raster/qgsrasterhistogramwidget.cpp.o' failed
make2: * [src/gui/CMakeFiles/qgis_gui.dir/raster/qgsrasterhistogramwidget.cpp.o] Error 1
CMakeFiles/Makefile2:1319: recipe for target 'src/gui/CMakeFiles/qgis_gui.dir/all' failed
make1:
[src/gui/CMakeFiles/qgis_gui.dir/all] Error 2
make1: *
* Waiting for unfinished jobs....

#4 Updated by Matthias Kuhn over 5 years ago

  • Status changed from Reopened to Closed

Yes, you will need to build against a QWT library compiled and linked against Qt5.

I think QWT 5 does not build against Qt5.
QWT 6 does build against Qt5. But be aware that the one provided by your distro may be linked against Qt4.

Also available in: Atom PDF