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. Problem in QVariantList in Qt 5.12?
Qt 6.11 is out! See what's new in the release blog

Problem in QVariantList in Qt 5.12?

Scheduled Pinned Locked Moved Solved General and Desktop
20 Posts 6 Posters 3.1k Views 3 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.
  • M mchinand

    Is this perhaps a too simplified example of your actual code? It seems that your if(true) block will probably be removed (optimized out) entirely when compiled in Release mode.

    artwawA Offline
    artwawA Offline
    artwaw
    wrote on last edited by artwaw
    #7

    @mchinand If I remove the if block it gets properly executed both in debug and release. At any rate it works in 6.2.1.

    For more information please re-read.

    Kind Regards,
    Artur

    1 Reply Last reply
    1
    • M mchinand

      Is this perhaps a too simplified example of your actual code? It seems that your if(true) block will probably be removed (optimized out) entirely when compiled in Release mode.

      M Offline
      M Offline
      Maxxximo
      wrote on last edited by
      #8

      @mchinand With my configuration the code faults in both Release and Debug mode. I noticed the problem because I had to upgrade to Qt 5.12 from 5.4

      M 1 Reply Last reply
      0
      • M Maxxximo

        @mchinand With my configuration the code faults in both Release and Debug mode. I noticed the problem because I had to upgrade to Qt 5.12 from 5.4

        M Offline
        M Offline
        mchinand
        wrote on last edited by
        #9

        @Maxxximo Looking at the stack trace, which line of code of yours does it break on?

        M 1 Reply Last reply
        0
        • M mchinand

          @Maxxximo Looking at the stack trace, which line of code of yours does it break on?

          M Offline
          M Offline
          Maxxximo
          wrote on last edited by
          #10

          @mchinand Here:
          Breakpoint.png

          1 Reply Last reply
          0
          • Christian EhrlicherC Offline
            Christian EhrlicherC Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #11

            Are you sure you don't mix binaries compiled with different MSVC versions? See e.g. here: https://bugreports.qt.io/browse/QTBUG-30009

            Also compile your code in debug mode (and against Qt debug libs) to see where exactly inside Qt it is crashing.

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            M 1 Reply Last reply
            2
            • Christian EhrlicherC Christian Ehrlicher

              Are you sure you don't mix binaries compiled with different MSVC versions? See e.g. here: https://bugreports.qt.io/browse/QTBUG-30009

              Also compile your code in debug mode (and against Qt debug libs) to see where exactly inside Qt it is crashing.

              M Offline
              M Offline
              Maxxximo
              wrote on last edited by
              #12

              @Christian-Ehrlicher I am using a Qt version that has been supplied together with a commercial system, therefore I only have the release version of Qt.
              I checked the dependencies, and my app depends only on Qt5Core.dll, which in turn depends on msvcp140.dll and vcruntime140.dll, so it shouldn't be a problem.

              Christian EhrlicherC 1 Reply Last reply
              0
              • M Maxxximo

                @Christian-Ehrlicher I am using a Qt version that has been supplied together with a commercial system, therefore I only have the release version of Qt.
                I checked the dependencies, and my app depends only on Qt5Core.dll, which in turn depends on msvcp140.dll and vcruntime140.dll, so it shouldn't be a problem.

                Christian EhrlicherC Offline
                Christian EhrlicherC Offline
                Christian Ehrlicher
                Lifetime Qt Champion
                wrote on last edited by
                #13

                @Maxxximo said in Problem in QVariantList in Qt 5.12?:

                I am using a Qt version that has been supplied together with a commercial system, therefore I only have the release version of Qt.

                Then ask for the debug libraries then - otherwise a useful development is imo not really possible. You can't even create your own app as debug version without the Qt debug libs.

                Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                Visit the Qt Academy at https://academy.qt.io/catalog

                M 1 Reply Last reply
                2
                • Christian EhrlicherC Christian Ehrlicher

                  @Maxxximo said in Problem in QVariantList in Qt 5.12?:

                  I am using a Qt version that has been supplied together with a commercial system, therefore I only have the release version of Qt.

                  Then ask for the debug libraries then - otherwise a useful development is imo not really possible. You can't even create your own app as debug version without the Qt debug libs.

                  M Offline
                  M Offline
                  Maxxximo
                  wrote on last edited by
                  #14

                  @Christian-Ehrlicher said in Problem in QVariantList in Qt 5.12?:

                  You can't even create your own app as debug version without the Qt debug libs.

                  This sounds strange to me, why shouldn't it be possible? It's rather common using release libraries and the only constraint is not being able to debug them!

                  M Christian EhrlicherC 2 Replies Last reply
                  0
                  • M Maxxximo

                    @Christian-Ehrlicher said in Problem in QVariantList in Qt 5.12?:

                    You can't even create your own app as debug version without the Qt debug libs.

                    This sounds strange to me, why shouldn't it be possible? It's rather common using release libraries and the only constraint is not being able to debug them!

                    M Offline
                    M Offline
                    mchinand
                    wrote on last edited by
                    #15

                    @Maxxximo This would work fine if you always write bug-free code and use bug-free libraries.

                    1 Reply Last reply
                    1
                    • M Maxxximo

                      @Christian-Ehrlicher said in Problem in QVariantList in Qt 5.12?:

                      You can't even create your own app as debug version without the Qt debug libs.

                      This sounds strange to me, why shouldn't it be possible? It's rather common using release libraries and the only constraint is not being able to debug them!

                      Christian EhrlicherC Offline
                      Christian EhrlicherC Offline
                      Christian Ehrlicher
                      Lifetime Qt Champion
                      wrote on last edited by
                      #16

                      @Maxxximo said in Problem in QVariantList in Qt 5.12?:

                      why shouldn't it be possible?

                      Because you must not mix debug and release libraries on windows since debug libs are using msvcrtd.dll and release ones msvcrt.dll which are not compatible.

                      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                      Visit the Qt Academy at https://academy.qt.io/catalog

                      M 1 Reply Last reply
                      1
                      • Christian EhrlicherC Christian Ehrlicher

                        @Maxxximo said in Problem in QVariantList in Qt 5.12?:

                        why shouldn't it be possible?

                        Because you must not mix debug and release libraries on windows since debug libs are using msvcrtd.dll and release ones msvcrt.dll which are not compatible.

                        M Offline
                        M Offline
                        Maxxximo
                        wrote on last edited by
                        #17

                        @Christian-Ehrlicher Ok, just to make it clear: Qt is built as a dynamic library, i.e. Qt5Core.lib is the import library for Qt5Core.dll. This way I definitely can build my app in debug mode and use Qt5Core.dll compiled in release.
                        I can set breakpoints and step into my code and watch variables, actually I've been doing this for about 7 years on this same application.
                        I still don't get why it does work with QVariantMap, and doesn't with QVariantList....there must be some other reason, imho.

                        JonBJ 1 Reply Last reply
                        0
                        • M Maxxximo

                          @Christian-Ehrlicher Ok, just to make it clear: Qt is built as a dynamic library, i.e. Qt5Core.lib is the import library for Qt5Core.dll. This way I definitely can build my app in debug mode and use Qt5Core.dll compiled in release.
                          I can set breakpoints and step into my code and watch variables, actually I've been doing this for about 7 years on this same application.
                          I still don't get why it does work with QVariantMap, and doesn't with QVariantList....there must be some other reason, imho.

                          JonBJ Offline
                          JonBJ Offline
                          JonB
                          wrote on last edited by JonB
                          #18

                          @Maxxximo
                          I agree we do not know whether this is related to your issue.

                          But this is not a question of .lib files. At runtime you are not supposed to have some parts of your code --- DLLs or not --- compiled for debug mixed with some for release, because they call for two incompatible versions of the MS runtime (MSVCRT/MSVCRTD.DLL). If you are able to compile/link only one or the other and see if this affects your problem it would be a good idea.

                          1 Reply Last reply
                          1
                          • Christian EhrlicherC Offline
                            Christian EhrlicherC Offline
                            Christian Ehrlicher
                            Lifetime Qt Champion
                            wrote on last edited by Christian Ehrlicher
                            #19

                            As I said above - you must not mix debug and release libraries. It may work but may break suddenly due to the different msvc rntimes used. And this may also be the problem here.

                            /edit: you can compile your app in debug mode and use release-only libraries but only when you use the same MSVC runtime -> /MD instead /MDd

                            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                            Visit the Qt Academy at https://academy.qt.io/catalog

                            M 1 Reply Last reply
                            3
                            • Christian EhrlicherC Christian Ehrlicher

                              As I said above - you must not mix debug and release libraries. It may work but may break suddenly due to the different msvc rntimes used. And this may also be the problem here.

                              /edit: you can compile your app in debug mode and use release-only libraries but only when you use the same MSVC runtime -> /MD instead /MDd

                              M Offline
                              M Offline
                              Maxxximo
                              wrote on last edited by
                              #20

                              @Christian-Ehrlicher My mistake: I could not use the right runtime library switch because I had "Ignore specific default libraries" set! Now I recompiled in debug with /MT and it works! Thanks a lot.

                              1 Reply Last reply
                              0

                              • Login

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