Errors in qvariant.h during compilation

312 views Asked by At

I am getting a variety of compilation errors relating to qvariant when compiling my program. I have not modified the Qt libs/source, so why am I getting these errors? (What do they mean)

/Qt/5.9.9/gcc_64/mkspecs/linux-g++ -o tl_ansi_codes.o /mydir/tl_ansi_formatting/tl_ansi_codes.cpp
In file included from /opt/Qt/5.9.9/gcc_64/include/QtCore/qlocale.h:43,
                 from /opt/Qt/5.9.9/gcc_64/include/QtCore/qtextstream.h:46,
                 from /opt/Qt/5.9.9/gcc_64/include/QtCore/qdebug.h:49,
                 from /opt/Qt/5.9.9/gcc_64/include/QtCore/QDebug:1,
                 from /mydir/tl_ansi_formatting/tl_ansi_codes.cpp:9:
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h: In constructor ‘QVariant::QVariant(QVariant&&)’:
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h:265:25: warning: implicitly-declared ‘constexpr QVariant::Private& QVariant::Private::operator=(const QVariant::Private&)’ is deprecated [-Wdeprecated-copy]
  265 |     { other.d = Private(); }
      |                         ^
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h:380:16: note: because ‘QVariant::Private’ has user-provided ‘QVariant::Private::Private(const QVariant::Private&)’
  380 |         inline Private(const Private &other) Q_DECL_NOTHROW
      |                ^~~~~~~
g++ -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -Dproject_vls=1 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I/mydir//project -I. -
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h: In constructor ‘QVariant::QVariant(QVariant&&)’:
/opt/Qt/5.9.9/gcc_64/include/QtCore/qvariant.h:265:25: warning: implicitly-declared ‘constexpr QVariant::Private& QVariant::Private::operator=(const QVariant::Private&)’ is deprecated [-Wdeprecated-copy]
  265 |     { other.d = Private(); }
   
1

There are 1 answers

0
Subramanya Krishna On

The best solution available is just to ignore it, Or upgrade to qt6. To Ignore the warning, just add

QMAKE_CXXFLAGS += -Wno-deprecated-copy

In all of your .pro files. This will ignore all the deprecated-copy warning; you can also ignore for debug or release build using QMAKE_CXXFLAGS_DEBUG or QMAKE_CXXFLAGS_RELEASE.