Bug report #12145
Master does not compile with Qt5 libraries
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
bogdan@high:/software/software/Graphics/Maps/QGIS-QT5/build>
Associated revisions
Reduce debug noise and fix Qt5 compatibility
Fix #12145 (Master does not compile with Qt5 libraries)
History
#1 Updated by Giovanni Manghi almost 10 years ago
- Affected QGIS version changed from 2.6.0 to master
- Category set to Build/Install
#2 Updated by Matthias Kuhn almost 10 years ago
- Status changed from Open to Closed
Fixed in changeset 2e9cc1a4fff94811d87f7958e3defe64ca0462d5.
#3 Updated by Bogdan Hlevca almost 10 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 almost 10 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.