Menu

#38 Compilation failure under Linux: 'QString::null' is deprecated

None
closed
nobody
None
1
2019-09-09
2019-09-05
KAMiKAZOW
No

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)
  • libQt5Core5-5.13
  • gcc 9
  • x86_64

Complete build log: https://build.opensuse.org/build/home:KAMiKAZOW/openSUSE_Factory/x86_64/kshutdown/_log

Discussion

  • Konrad Twardowski

    Hi,
    The build log link required login. I used other one instead.

    error: missing terminating ' character
    const int DAY = 86'400;
    

    Digit separator is C++14 feature and requires -std=gnu++14 option.

    Other QString warnings (since Qt 5.13?) will be fixed in future and can be ignored for now.

    Thanks

     
  • KAMiKAZOW

    KAMiKAZOW - 2019-09-07

    If C++ 14 is required, the upstream CMakeList.txt file should specifiy CMAKE_CXX_STANDARD=14

     
  • Konrad Twardowski

    • status: open --> closed
    • Group: -->
     
  • Konrad Twardowski

    There is/was target_compile_features(kshutdown PUBLIC cxx_std_14) in src/CMakeLists.txt. Now I added set(CMAKE_CXX_STANDARD 14) to ./CMakeLists.txt which is probably a more proper solution. Thanks :)

     

Anonymous
Anonymous

Add attachments
Cancel