| Summary: | Build failed with : metaengine.cpp:331:42: error: ‘as_const’ is not a member of ‘std’ | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | pascal lacroix <kikoucalou> |
| Component: | Portability-Compilation | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | caulier.gilles |
| Priority: | NOR | ||
| Version First Reported In: | 8.5.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/graphics/digikam/-/commit/a146384918ab4e105dbe27e98228bd27c8d51d87 | Version Fixed/Implemented In: | 8.5.0 |
| Sentry Crash Report: | |||
Git commit a146384918ab4e105dbe27e98228bd27c8d51d87 by Gilles Caulier. Committed on 02/09/2024 at 12:35. Pushed by cgilles into branch 'master'. as some older Exiv2 versions do not support C++17, we cannot yet uses std::as_const() in metadataengine code FIXED-IN: 8.5.0 M +2 -2 core/libs/metadataengine/dmetadata/dmetadata_comments.cpp M +1 -1 core/libs/metadataengine/dmetadata/dmetadata_exif.cpp M +2 -2 core/libs/metadataengine/dmetadata/dmetadata_generic.cpp M +1 -1 core/libs/metadataengine/dmetadata/dmetadata_imagemagick.cpp M +2 -2 core/libs/metadataengine/dmetadata/dmetadata_labels.cpp M +3 -3 core/libs/metadataengine/dmetadata/dmetadata_tags.cpp M +1 -1 core/libs/metadataengine/dmetadata/dmetadata_template.cpp M +2 -2 core/libs/metadataengine/dmetadata/dmetadata_video.cpp M +1 -1 core/libs/metadataengine/dmetadata/dmetadatasettingscontainer.cpp M +1 -1 core/libs/metadataengine/engine/metaengine.cpp M +2 -2 core/libs/metadataengine/engine/metaengine_mergehelper.h M +1 -1 core/libs/metadataengine/engine/metaengine_p.cpp M +1 -1 core/libs/metadataengine/engine/metaengine_rotation.cpp M +1 -1 core/libs/metadataengine/exiftool/exiftoolparser.cpp M +3 -3 core/libs/metadataengine/exiftool/exiftoolparser_output.cpp M +1 -1 core/libs/metadataengine/focuspoint/focuspoints_extractor_canon.cpp M +1 -1 core/libs/metadataengine/focuspoint/focuspoints_extractor_nikon.cpp https://invent.kde.org/graphics/digikam/-/commit/a146384918ab4e105dbe27e98228bd27c8d51d87 Thanks ! It build and run now. |
OBSERVED RESULT From git Build build metaengine.cpp failed with error : " 3%] Building CXX object core/libs/metadataengine/CMakeFiles/core_dmetadata_obj.dir/engine/metaengine.cpp.o In file included from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine_p.h:110, from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine.cpp:22: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine_mergehelper.h: In member function ‘void Digikam::MetaEngineMergeHelper<Data, Key, KeyString, KeyStringList>::mergeFields(const Data&, Data&)’: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine_mergehelper.h:69:48: error: ‘as_const’ is not a member of ‘std’ 69 | for (const KeyString& keyString : std::as_const(keys)) | ^~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine_mergehelper.h:69:48: note: ‘std::as_const’ is only available from C++17 onwards /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine_mergehelper.h: In member function ‘void Digikam::MetaEngineMergeHelper<Data, Key, KeyString, KeyStringList>::exclusiveMerge(const Data&, Data&)’: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine_mergehelper.h:101:48: error: ‘as_const’ is not a member of ‘std’ 101 | for (const KeyString& keyString : std::as_const(keys)) | ^~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine_mergehelper.h:101:48: note: ‘std::as_const’ is only available from C++17 onwards /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine.cpp: In member function ‘bool Digikam::MetaEngine::loadFromDataAndMerge(const QByteArray&, const QStringList&)’: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine.cpp:331:42: error: ‘as_const’ is not a member of ‘std’ 331 | for (const QString& exTag : std::as_const(exclude)) | ^~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2024-09-02/digikam/core/libs/metadataengine/engine/metaengine.cpp:331:42: note: ‘std::as_const’ is only available from C++17 onwards make[2]: *** [core/libs/metadataengine/CMakeFiles/core_dmetadata_obj.dir/build.make:96 : core/libs/metadataengine/CMakeFiles/core_dmetadata_obj.dir/engine/metaengine.cpp.o] Erreur 1 make[1]: *** [CMakeFiles/Makefile2:8885 : core/libs/metadataengine/CMakeFiles/core_dmetadata_obj.dir/all] Erreur 2 make: *** [Makefile:146 : all] Erreur 2 " SOFTWARE/OS VERSIONS Linux Distribution : Linux Mint 22 Environnement de développement de KDE Version 5.115.0 Qt Version 5.15.13 (Compilé avec 5.15.13) ADDITIONAL INFORMATION* Digikam build and run nicely on Révision : 94c885e544fb846c8a867a9c4845d6f0b88f9c50