Re: error: 'std::shared_ptr' has not been declared

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 24 Oct 2022 11:14:46 -0000
"Martin Gansser" <martin.gansser@xxxxxxxxx> wrote:

> Hi,
> when compiling QMPlay2-22.10.23 [1] on f35 and f36 i get this error message:
> 
> [38/321] /usr/bin/g++ -DDBUS_SUSPEND -DNOTIFIES_FREEDESKTOP -DQMPLAY2SHAREDLIB_LIBRARY -DQMPLAY2_LIBASS -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_QML_LIB -DQT_SVG_LIB -DQT_USE_FAST_OPERATOR_PLUS -DQT_WIDGETS_LIB -DUSE_OPENGL -DUSE_QML -DUSE_YOUTUBEDL -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Dlibqmplay2_EXPORTS -I/home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/redhat-linux-build/src/qmplay2 -I/home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2 -I/home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/redhat-linux-build/src/qmplay2/libqmplay2_autogen/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libxml2 -I/usr/include/fribidi -I/usr/include/ffmpeg -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtWidgets -isystem /usr/inc
 lude/qt5/Q
>  tSvg -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -Wall -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -g -fPIC -fPIC -std=gnu++14 -MD -MT src/qmplay2/CMakeFiles/libqmplay2.dir/QMPlay2OSD.cpp.o -MF src/qmplay2/CMakeFiles/libqmplay2.dir/QMPlay2OSD.cpp.o.d -o src/qmplay2/CMakeFiles/libqmplay2.dir/QMPlay2OSD.cpp.o -c /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp
> FAILED: src/qmplay2/CMakeFiles/libqmplay2.dir/QMPlay2OSD.cpp.o 
> /usr/bin/g++ -DDBUS_SUSPEND -DNOTIFIES_FREEDESKTOP -DQMPLAY2SHAREDLIB_LIBRARY -DQMPLAY2_LIBASS -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_QML_LIB -DQT_SVG_LIB -DQT_USE_FAST_OPERATOR_PLUS -DQT_WIDGETS_LIB -DUSE_OPENGL -DUSE_QML -DUSE_YOUTUBEDL -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -Dlibqmplay2_EXPORTS -I/home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/redhat-linux-build/src/qmplay2 -I/home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2 -I/home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/redhat-linux-build/src/qmplay2/libqmplay2_autogen/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libxml2 -I/usr/include/fribidi -I/usr/include/ffmpeg -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/
 QtSvg -isy
>  stem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -Wall -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -g -fPIC -fPIC -std=gnu++14 -MD -MT src/qmplay2/CMakeFiles/libqmplay2.dir/QMPlay2OSD.cpp.o -MF src/qmplay2/CMakeFiles/libqmplay2.dir/QMPlay2OSD.cpp.o.d -o src/qmplay2/CMakeFiles/libqmplay2.dir/QMPlay2OSD.cpp.o -c /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp
> In file included from /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp:19:
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.hpp:74:53: error: 'std::shared_ptr' has not been declared
>    74 |     static std::unique_lock<std::mutex> ensure(std::shared_ptr<QMPlay2OSD> &osd);
>       |                                                     ^~~~~~~~~~
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.hpp:74:63: error: expected ',' or '...' before '<' token
>    74 |     static std::unique_lock<std::mutex> ensure(std::shared_ptr<QMPlay2OSD> &osd);
>       |                                                               ^
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.hpp:174:37: error: 'shared_ptr' is not a member of 'std'
>   174 | using QMPlay2OSDList = QVector<std::shared_ptr<const QMPlay2OSD>>;
>       |                                     ^~~~~~~~~~
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.hpp:30:1: note: 'std::shared_ptr' is defined in header '<memory>'; did you forget to '#include <memory>'?
>    29 | #include <mutex>
>   +++ |+#include <memory>
>    30 | 
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.hpp:174:37: error: 'shared_ptr' is not a member of 'std'
>   174 | using QMPlay2OSDList = QVector<std::shared_ptr<const QMPlay2OSD>>;
>       |                                     ^~~~~~~~~~
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.hpp:174:37: note: 'std::shared_ptr' is defined in header '<memory>'; did you forget to '#include <memory>'?
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.hpp:174:64: error: template argument 1 is invalid
>   174 | using QMPlay2OSDList = QVector<std::shared_ptr<const QMPlay2OSD>>;
>       |                                                                ^~
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp:31:20: error: 'std::unique_lock<std::mutex> QMPlay2OSD::ensure' is not a static data member of 'class QMPlay2OSD'
>    31 | unique_lock<mutex> QMPlay2OSD::ensure(shared_ptr<QMPlay2OSD> &osd)
>       |                    ^~~~~~~~~~
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp:31:39: error: 'shared_ptr' was not declared in this scope
>    31 | unique_lock<mutex> QMPlay2OSD::ensure(shared_ptr<QMPlay2OSD> &osd)
>       |                                       ^~~~~~~~~~
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp:20:1: note: 'std::shared_ptr' is defined in header '<memory>'; did you forget to '#include <memory>'?
>    19 | #include <QMPlay2OSD.hpp>
>   +++ |+#include <memory>
>    20 | 
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp:31:60: error: expected primary-expression before '>' token
>    31 | unique_lock<mutex> QMPlay2OSD::ensure(shared_ptr<QMPlay2OSD> &osd)
>       |                                                            ^
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp:31:63: error: 'osd' was not declared in this scope
>    31 | unique_lock<mutex> QMPlay2OSD::ensure(shared_ptr<QMPlay2OSD> &osd)
>       |                                                               ^~~
> /home/martin/rpmbuild/BUILD/QMPlay2-22.10.23/src/qmplay2/QMPlay2OSD.cpp:32:1: error: expected ',' or ';' before '{' token
> 
> [1] https://martinkg.fedorapeople.org/ErrorReports/qmplay2.spec
> 
> How can I solve this ?

do what the compiler suggests, add "#include <memory>" into
src/qmplay2/QMPlay2OSD .hpp


		Dan
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux