Compilation failure under Linux: 'QString::null' is deprecated
A graphical shutdown utility for Linux and Windows
Brought to you by:
kdt
Can't build 5.1 under the latetst openSUSE TW:
[ 144s] | ^~~~
[ 144s] /home/abuild/rpmbuild/BUILD/kshutdown-5.1-beta/src/password.cpp:198:31: warning: 'QString::null' is deprecated: use QString() [-Wdeprecated-declarations]
[ 144s] 198 | m_status->setText(QString::null, InfoWidget::Type::Error);
[ 144s] | ^~~~
[ 144s] In file included from /usr/include/qt5/QtCore/qobject.h:47,
[ 144s] from /usr/include/qt5/QtWidgets/qwidget.h:45,
[ 144s] from /usr/include/qt5/QtWidgets/qdialog.h:44,
[ 144s] from /usr/include/qt5/QtWidgets/QDialog:1,
[ 144s] from /home/abuild/rpmbuild/BUILD/kshutdown-5.1-beta/src/udialog.h:21,
[ 144s] from /home/abuild/rpmbuild/BUILD/kshutdown-5.1-beta/src/password.h:21,
[ 144s] from /home/abuild/rpmbuild/BUILD/kshutdown-5.1-beta/src/password.cpp:18:
[ 144s] /usr/include/qt5/QtCore/qstring.h:818:23: note: declared here
[ 144s] 818 | static const Null null;
[ 144s] | ^~~~
[ 145s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/kshutdown-5.1-beta/build'
[ 145s] make[1]: *** [CMakeFiles/Makefile2:179: src/CMakeFiles/kshutdown.dir/all] Error 2
[ 145s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/kshutdown-5.1-beta/build'
[ 145s] make: *** [Makefile:130: all] Error 2
[ 145s] error: Bad exit status from /var/tmp/rpm-tmp.KRChGv (%build)
Complete build log: https://build.opensuse.org/build/home:KAMiKAZOW/openSUSE_Factory/x86_64/kshutdown/_log
Anonymous
Hi,
The build log link required login. I used other one instead.
Digit separator is C++14 feature and requires
-std=gnu++14option.Other QString warnings (since Qt 5.13?) will be fixed in future and can be ignored for now.
Thanks
If C++ 14 is required, the upstream CMakeList.txt file should specifiy CMAKE_CXX_STANDARD=14
There is/was
target_compile_features(kshutdown PUBLIC cxx_std_14)insrc/CMakeLists.txt. Now I addedset(CMAKE_CXX_STANDARD 14)to./CMakeLists.txtwhich is probably a more proper solution. Thanks :)