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

    @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 Online
      Christian EhrlicherC Online
      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 Online
          Christian EhrlicherC Online
          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 Online
                Christian EhrlicherC Online
                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 Online
                      Christian EhrlicherC Online
                      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