Hallo.
Bei mir compiliert tvscraper mit dem commit 64ca280196e2218209a86096360080429f1de22a nicht mit folgenden Fehlern:
Code
x86_64-pc-linux-gnu-g++ -march=native -O2 -pipe -ftree-vectorize -fomit-frame-pointer -g -g -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include -std=c++17 -rdynamic -c -DPLGDIR='"/usr/lib/tvscraper/plugins"' -DPLUGIN_NAME_I18N='"tvscraper"' -o tvscraper.o tvscraper.c
In Datei, eingebunden von tvscraper.c:52:
tools/stringhelpers.c:594:33: Warnung: »template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator« ist veraltet [-Wdeprecated-declarations]
594 | class iterator: public std::iterator<std::forward_iterator_tag, int, int, const int*, int> {
| ^~~~~~~~
In Datei, eingebunden von /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/stl_algobase.h:65,
von /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/specfun.h:45,
von /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/cmath:1935,
von /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/math.h:36,
von /usr/include/vdr/tools.h:18,
von /usr/include/vdr/i18n.h:14,
von /usr/include/vdr/config.h:19,
von /usr/include/vdr/channels.h:13,
von /usr/include/vdr/epg.h:16,
von services.h:3,
von tvscraper.c:8:
/usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/stl_iterator_base_types.h:127:34: Anmerkung: hier deklariert
127 | struct _GLIBCXX17_DEPRECATED iterator
| ^~~~~~~~
tools/stringhelpers.c:865:33: Warnung: »template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator« ist veraltet [-Wdeprecated-declarations]
865 | class iterator: public std::iterator<std::forward_iterator_tag, std::string_view, int, const std::string_view*, std::string_view> {
| ^~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/stl_iterator_base_types.h:127:34: Anmerkung: hier deklariert
127 | struct _GLIBCXX17_DEPRECATED iterator
| ^~~~~~~~
In Datei, eingebunden von tvscraper.c:53:
tools/fuzzy.c:326:57: Fehler: »optional« ist kein Element von »std«
326 | int minDistanceNormedStrings(const std::vector<std::optional<cNormedString>> &normedStrings, int curDistance) const {
| ^~~~~~~~
tools/fuzzy.c:9:1: Anmerkung: »std::optional« ist im Header »<optional>« definiert; haben Sie vergessen, »#include <optional>« zu schreiben?
8 | #include <math.h>
+++ |+#include <optional>
9 | #include <set>
tools/fuzzy.c:326:66: Fehler: Templateargument 1 ist ungültig
326 | int minDistanceNormedStrings(const std::vector<std::optional<cNormedString>> &normedStrings, int curDistance) const {
| ^~~~~~~~~~~~~
tools/fuzzy.c:326:66: Fehler: Templateargument 2 ist ungültig
tools/fuzzy.c:326:57: Fehler: »optional« ist kein Element von »std«
326 | int minDistanceNormedStrings(const std::vector<std::optional<cNormedString>> &normedStrings, int curDistance) const {
| ^~~~~~~~
tools/fuzzy.c:326:57: Anmerkung: »std::optional« ist im Header »<optional>« definiert; haben Sie vergessen, »#include <optional>« zu schreiben?
tools/fuzzy.c:326:79: Fehler: Templateargument 1 ist ungültig
326 | int minDistanceNormedStrings(const std::vector<std::optional<cNormedString>> &normedStrings, int curDistance) const {
| ^~
tools/fuzzy.c:326:79: Fehler: Templateargument 2 ist ungültig
tools/fuzzy.c:326:57: Fehler: »optional« ist kein Element von »std«
326 | int minDistanceNormedStrings(const std::vector<std::optional<cNormedString>> &normedStrings, int curDistance) const {
| ^~~~~~~~
...
Alles anzeigen
Der vom Compiler vorgeschlagene Fix hilft siehe Patch im Anhang...
Weiß nur nicht, ob das so richtig ist.
Und Danke für die stetige Weiterentwicklung!