Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to switch off specific warnings in Qt Creator
Forum Updated to NodeBB v4.3 + New Features

How to switch off specific warnings in Qt Creator

Scheduled Pinned Locked Moved Unsolved General and Desktop
15 Posts 3 Posters 361 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D DiBosco

    Folks,

    I am getting lots of depricated warnings (I cannot upgrade to a newer version of Qt BTW, so, for me, this is not going to be a solution I have seen suggested elsewhere). After doing loads of trawling around, the method seems to be to add to your .pro file:

    QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy
    

    However, this makes no an iota of difference.

    This is an example of a full warning message:

    /path/qtransform.h:376: warning: implicitly-declared ‘QTransform::QTransform(const QTransform&)’ is deprecated [-Wdeprecated-copy]
    In file included from /path//QtGui/qbrush.h:43,
                     from /path//qpalette.h:39,
                     from /path//qwidget.h:41,
                     from /path//QWidget:1,
                     from ../PI03SW05/crc.h:5,
                     from ../PI03SW05/crc.cpp:1:
    /path/qtransform.h: In function ‘QTransform operator*(const QTransform&, qreal)’:
    /path/qtransform.h:376:17: warning: implicitly-declared ‘QTransform::QTransform(const QTransform&)’ is deprecated [-Wdeprecated-copy]
      376 | { QTransform t(a); t *= n; return t; }
          |                 ^
    /path/qtransform.h:121:17: note: because ‘QTransform’ has user-provided ‘QTransform& QTransform::operator=(const QTransform&)’
      121 |     QTransform &operator=(const QTransform &);
    

    Anyone know what I am doing wrong here and (with explicit instructions) how to fix this please? Am using 5.6.3 on Linux FWIW.

    Thanks :)

    JonBJ Offline
    JonBJ Offline
    JonB
    wrote last edited by
    #4

    @DiBosco said in How to switch off specific warnings in Qt Creator:

    However, this makes no an iota of difference.

    According to https://forum.qt.io/post/649283 you should:

    Use CONFIG += warn_off in your .pro file to disable warnings. This will make sure the compiler is called with all the flags set in QMAKE_CXXFLAGS_WARN_OFF (which should be automatically set by the default mkspecs, so usually no reason to change it).

    1 Reply Last reply
    0
    • D Offline
      D Offline
      DiBosco
      wrote last edited by
      #5

      Using CONFIG += warn_off switches of ALL warnings though and I don't want that.

      JonBJ 1 Reply Last reply
      0
      • D DiBosco

        Using CONFIG += warn_off switches of ALL warnings though and I don't want that.

        JonBJ Offline
        JonBJ Offline
        JonB
        wrote last edited by
        #6

        @DiBosco
        Did you actually try it though? I read the answer as indicating/suggesting that CONFIG += warn_off is required to make QMAKE_CXXFLAGS_WARN_OFF be taken into account? The OP there seemed to say same as you: setting QMAKE_CXXFLAGS_WARN_OFF alone did not have any effect.

        Try it to see if you can tell it makes a difference? Check the actual options being passed to the gcc in each case? Figure how to make QMAKE_CXXFLAGS_WARN_OFF actually affect things if it does it right from the CONFIG statement but not in your case?

        D 1 Reply Last reply
        0
        • JonBJ JonB

          @DiBosco
          Did you actually try it though? I read the answer as indicating/suggesting that CONFIG += warn_off is required to make QMAKE_CXXFLAGS_WARN_OFF be taken into account? The OP there seemed to say same as you: setting QMAKE_CXXFLAGS_WARN_OFF alone did not have any effect.

          Try it to see if you can tell it makes a difference? Check the actual options being passed to the gcc in each case? Figure how to make QMAKE_CXXFLAGS_WARN_OFF actually affect things if it does it right from the CONFIG statement but not in your case?

          D Offline
          D Offline
          DiBosco
          wrote last edited by
          #7

          @JonB Yes, that's how I know it suppresses all warnings :)

          If I put this in my .pro file:

          CONFIG += warn_off
          QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy
          

          No warnings at all. If I take out the:

          CONFIG += warn_off
          

          line then all warnings are present.

          JonBJ 1 Reply Last reply
          0
          • D DiBosco

            @JonB Yes, that's how I know it suppresses all warnings :)

            If I put this in my .pro file:

            CONFIG += warn_off
            QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy
            

            No warnings at all. If I take out the:

            CONFIG += warn_off
            

            line then all warnings are present.

            JonBJ Offline
            JonBJ Offline
            JonB
            wrote last edited by JonB
            #8

            @DiBosco
            I already suggested: you ought find out why (apparently, according to you and the other poster) that without CONFIG += warn_off setting QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy has no effect. Then maybe you will be able to remove CONFIG and know what you have to do to make QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy work on its own.

            Not that I know anything about this, but I would guess that QMAKE_CXXFLAGS_WARN_OFF is only used at all if you have CONFIG += warn_off, i.e. the latter "activates" the former's flags to be used. Without that configuration QMAKE_CXXFLAGS_WARN_OFF is not passed to compiler. If you want -Wdeprecated-copy in other circumstances than with all other warnings turned off I would presume you should use another variable which is always passed to compiler. Something like QMAKE_CXXFLAGS? Does that satisfy you?

            D 1 Reply Last reply
            0
            • JonBJ JonB

              @DiBosco
              I already suggested: you ought find out why (apparently, according to you and the other poster) that without CONFIG += warn_off setting QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy has no effect. Then maybe you will be able to remove CONFIG and know what you have to do to make QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy work on its own.

              Not that I know anything about this, but I would guess that QMAKE_CXXFLAGS_WARN_OFF is only used at all if you have CONFIG += warn_off, i.e. the latter "activates" the former's flags to be used. Without that configuration QMAKE_CXXFLAGS_WARN_OFF is not passed to compiler. If you want -Wdeprecated-copy in other circumstances than with all other warnings turned off I would presume you should use another variable which is always passed to compiler. Something like QMAKE_CXXFLAGS? Does that satisfy you?

              D Offline
              D Offline
              DiBosco
              wrote last edited by
              #9

              @JonB

              I'm not sure I've made it clear that with

              CONFIG += warn_off
              

              All warnings go. So, for example, unused variables no long show up (which I want to see).

              I want all deprecated warnings to go, but I want to see other types of warning.

              D JonBJ 2 Replies Last reply
              0
              • D DiBosco

                @JonB

                I'm not sure I've made it clear that with

                CONFIG += warn_off
                

                All warnings go. So, for example, unused variables no long show up (which I want to see).

                I want all deprecated warnings to go, but I want to see other types of warning.

                D Offline
                D Offline
                DiBosco
                wrote last edited by
                #10

                @DiBosco said in How to switch off specific warnings in Qt Creator:

                @JonB

                I'm not sure I've made it clear that with

                CONFIG += warn_off
                

                All warnings go. So, for example, unused variables no long show up (which I want to see).

                I want all deprecated warnings to go, but I want to see other types of warning.

                PS Trying to find out what I ought to do is what I'm doing here. I spent absolutely ages trawling round various sites such as here and Stack Overflow to no avail.

                1 Reply Last reply
                0
                • D DiBosco

                  @JonB

                  I'm not sure I've made it clear that with

                  CONFIG += warn_off
                  

                  All warnings go. So, for example, unused variables no long show up (which I want to see).

                  I want all deprecated warnings to go, but I want to see other types of warning.

                  JonBJ Offline
                  JonBJ Offline
                  JonB
                  wrote last edited by
                  #11

                  @DiBosco said in How to switch off specific warnings in Qt Creator:

                  All warnings go. So, for example, unused variables no long show up (which I want to see).

                  I want all deprecated warnings to go, but I want to see other types of warning.

                  I know this. And I suggested why QMAKE_CXXFLAGS_WARN_OFF probably has no effect and precisely what you should do, which you apparently have not tried.....

                  D 1 Reply Last reply
                  0
                  • JonBJ JonB

                    @DiBosco said in How to switch off specific warnings in Qt Creator:

                    All warnings go. So, for example, unused variables no long show up (which I want to see).

                    I want all deprecated warnings to go, but I want to see other types of warning.

                    I know this. And I suggested why QMAKE_CXXFLAGS_WARN_OFF probably has no effect and precisely what you should do, which you apparently have not tried.....

                    D Offline
                    D Offline
                    DiBosco
                    wrote last edited by
                    #12

                    @JonB

                    I think I'm missing something here because I said a few posts up I tried:

                    CONFIG += warn_off
                    QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy
                    

                    So I have tried QMAKE_CXXFLAGS_WARN_OFF. Sorry if I'm being slow here, but if that's not what you mean I need something more explicit to try.

                    JonBJ 1 Reply Last reply
                    0
                    • aha_1980A Offline
                      aha_1980A Offline
                      aha_1980
                      Lifetime Qt Champion
                      wrote last edited by
                      #13

                      @DiBosco Have you already seen https://stackoverflow.com/questions/22129383/removing-unused-parameters-warning-in-qtcreator ?

                      For your case, it would be: QMAKE_CXXFLAGS_WARN_ON += -Wno-deprecated-copy

                      Regards

                      Qt has to stay free or it will die.

                      D 1 Reply Last reply
                      3
                      • D DiBosco

                        @JonB

                        I think I'm missing something here because I said a few posts up I tried:

                        CONFIG += warn_off
                        QMAKE_CXXFLAGS_WARN_OFF -= -Wdeprecated-copy
                        

                        So I have tried QMAKE_CXXFLAGS_WARN_OFF. Sorry if I'm being slow here, but if that's not what you mean I need something more explicit to try.

                        JonBJ Offline
                        JonBJ Offline
                        JonB
                        wrote last edited by JonB
                        #14

                        @DiBosco
                        :)

                        • Forget about CONFIG ..., remove it.
                        • Forget about QMAKE_CXXFLAGS_WARN_OFF ..., remove it.
                        • Try this:

                        If you want -Wdeprecated-copy in other circumstances than with all other warnings turned off I would presume you should use another variable which is always passed to compiler. Something like QMAKE_CXXFLAGS? Does that satisfy you?

                        I cannot be sure which one to use, but what happens if you add a line reading:

                        QMAKE_CXXFLAGS -= -Wdeprecated-copy
                        

                        If that does not work we (you!) need to understand what is adding -Wdeprecated-copy on the gcc compiler line (I asked you to look at the actual line being generated, does it have that option?) and then presumably something like THE_MACRO_WHICH_ADDED_IT -= -Wdeprecated-copy to remove it?

                        P.S.
                        Since @aha_1980 has just chimed in to say there is a QMAKE_CXXFLAGS_WARN_ON and a -Wno-deprecated-copy which can be added you should try that. If by any chance that does not work you might have to put it on QMAKE_CXXFLAGS, but try what he says first.

                        1 Reply Last reply
                        0
                        • aha_1980A aha_1980

                          @DiBosco Have you already seen https://stackoverflow.com/questions/22129383/removing-unused-parameters-warning-in-qtcreator ?

                          For your case, it would be: QMAKE_CXXFLAGS_WARN_ON += -Wno-deprecated-copy

                          Regards

                          D Offline
                          D Offline
                          DiBosco
                          wrote last edited by DiBosco
                          #15

                          @aha_1980 said in How to switch off specific warnings in Qt Creator:

                          @DiBosco Have you already seen https://stackoverflow.com/questions/22129383/removing-unused-parameters-warning-in-qtcreator ?

                          For your case, it would be: QMAKE_CXXFLAGS_WARN_ON += -Wno-deprecated-copy

                          Regards

                          Ah, yes I had seen that. The English in the most upticked reply just made me go "What?". Just could not understand what they were saying, but I had tried:

                          QMAKE_CXXFLAGS_WARN_ON += -Wdeprecated-copy

                          Thinking why on earth would putting the warning on make it disappear, but out of desperation I gave it a go. Had I realised it needed -Wno-deprecated-copy, not -Wdeprecated-copy I'd've been fine hours ago.

                          Many thanks for that, now doing just what I want.

                          Also @JonB Thanks for your help too.

                          1 Reply Last reply
                          3

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved