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. [solved] Choosing between different MinGW compilers
Forum Updated to NodeBB v4.3 + New Features

[solved] Choosing between different MinGW compilers

Scheduled Pinned Locked Moved General and Desktop
8 Posts 2 Posters 5.4k 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.
  • T3STYT Offline
    T3STYT Offline
    T3STY
    wrote on last edited by
    #1

    My Qt directory got a bit cluttered lately... I have both Qt 5.1.1 and 5.2.0, in all versions (ANGLE, OpenGL) - 8 total. Then I have the MinGW compilers both 4.8.1 and 4.8.2, each coming in x86 and x64 version and again each with posix and win32 threads version. Shortly, here's how my Qt directory looks:
    @
    C:\Qt\QtCreator

    C:\Qt\Compilers

    mingw32-4.8.1-posix
    mingw32-4.8.1-win32
    mingw32-4.8.2-posix
    mingw32-4.8.2-win32
    mingw64-4.8.1-posix
    mingw64-4.8.1-win32
    mingw64-4.8.2-posix
    mingw64-4.8.2-win32

    C:\Qt\Versions

    Qt-5.1.1-MinGW-4.8.1-ANGLE-x64
    Qt-5.1.1-MinGW-4.8.1-ANGLE-x86
    Qt-5.1.1-MinGW-4.8.1-OpenGL-x64
    Qt-5.1.1-MinGW-4.8.1-OpenGL-x86
    Qt-5.2.0-MinGW-4.8.2-ANGLE-x64
    Qt-5.2.0-MinGW-4.8.2-ANGLE-x86
    Qt-5.2.0-MinGW-4.8.2-OpenGL-x64
    Qt-5.2.0-MinGW-4.8.2-OpenGL-x86
    @

    Now, should I make all qt versions and compiler combinations (you know, to have them all even for testing only) there would be waaaaayy toooo many kits to create. I'm not that insane, I'm never going to do that. But, as you can understand from the directories names, each Qt version has been compiled with different compiler.
    My goal now is to reduce the number of qt versions and compilers so that a reasonable number of kits comes out.
    Can you help me suggesting the combinations of qt versions and compilers that I should be using?
    My primary development target is Windows (Win 7+) but I'm not excluding Linux and Mac OS X at all.

    1 Reply Last reply
    0
    • JKSHJ Offline
      JKSHJ Offline
      JKSH
      Moderators
      wrote on last edited by
      #2

      Hi,

      Is there a reason you're using both MinGW 4.8.1 and MinGW 4.8.2? I believe they're binary compatible.

      Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

      1 Reply Last reply
      0
      • T3STYT Offline
        T3STYT Offline
        T3STY
        wrote on last edited by
        #3

        Probably they're, I haven't seen any note saying they're incompatible. But I was keeping both of them because I just wanted to make sure Qt 5.1.1 was totally going to work with the same mingw build it was compiled.
        But I was thinking about using 4.8.2 only.

        Major trouble is about win32 vs posix. I'm not using any threaded programming so I can't tell the pros and cons of each, so I (logically) prefer to keep them both until I'll be using them...

        1 Reply Last reply
        0
        • JKSHJ Offline
          JKSHJ Offline
          JKSH
          Moderators
          wrote on last edited by
          #4

          I think you're creating lots of work for yourself, but don't get any benefits for your trouble.

          Remember that MinGW also comes with 3 models of exception handling: SJLJ, DWARF, and SEH. If you want to do comprehensive testing, you will need to triple the number of builds you create. That's a serious overkill.

          Have a look at http://qt-project.org/wiki/MinGW-64-bit :

          • It tells you the recommended versions of MinGW to use, and explains how the Qt engineers chose them
          • It explains the pros and cons of the different flavours (POSIX vs. Win32; SJLJ vs. DWARF vs. SEH)

          [quote author="T3STY" date="1388014225"]Probably they're, I haven't seen any note saying they're incompatible. But I was keeping both of them because I just wanted to make sure Qt 5.1.1 was totally going to work with the same mingw build it was compiled.
          But I was thinking about using 4.8.2 only.[/quote]MinGW (GCC) 4.8.2 is a bugfix update to MinGW 4.8.1. They are fully compatible, so there is no benefit in supporting both versions. Just use 4.8.2.

          [quote author="T3STY" date="1388014225"]Major trouble is about win32 vs posix. I'm not using any threaded programming so I can't tell the pros and cons of each, so I (logically) prefer to keep them both until I'll be using them...[/quote]Well if you're not developing multithreaded applications, then you won't notice anydifference between POSIX and Win32. There is no benefit in building 2 flavours.

          If you ever start developing multithreaded apps and want to test both POSIX and Win32, you can add the build when your app is ready for testing. Until then, just use POSIX and save yourself the trouble.

          As for the rest:

          • Do you want to release 32-bit AND 64-bit software? If so, why?
          • Is there a reason you want to support Qt 5.1.1 still?
          • Testing both OpenGL and ANGLE is actually worthwhile, if you create Qt Quick apps. There are common graphics issues that need fixing.

          Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

          1 Reply Last reply
          0
          • T3STYT Offline
            T3STYT Offline
            T3STY
            wrote on last edited by
            #5

            [quote author="JKSH" date="1388059863"]As for the rest:

            • Do you want to release 32-bit AND 64-bit software? If so, why?
            • Is there a reason you want to support Qt 5.1.1 still?
            • Testing both OpenGL and ANGLE is actually worthwhile, if you create Qt Quick apps. There are common graphics issues that need fixing.[/quote]

            Yes, I'm planning on releasing both 32-bit and 64-bit versions. I actually prefer 64-bit only which offers a few advantages, but there are still way too many users outthere with 32-bit OS even if the CPU is 64-bit capable. Also, I know a few issues of 32-bit on 64-bit OSs, and those need a proper 64-bit build to work. That would need some testing which I'll be doing, but at this point I need both 32 and 64 bit versions.
            Supporting Qt 5.1.1 is not really an option, I just had it earlier and I thought I'd keep it there ready, just in case.
            I keep OpenGL and ANGLE versions because I read almost everywhere that ANGLE has better performance on Windows, while OpenGL is fairly better on Linux distros. Again, this needs testing.

            Thank you very much for the link about MinGW, I'm now going to read it.

            1 Reply Last reply
            0
            • JKSHJ Offline
              JKSHJ Offline
              JKSH
              Moderators
              wrote on last edited by
              #6

              Ok, then it makes sense to test both 32-bit and 64-bit builds. I can't see why you should keep Qt 5.1.1 though.

              [quote]ANGLE has better performance on Windows, while OpenGL is fairly better on Linux distros. Again, this needs testing.[/quote]
              MinGW can't compile Linux binaries, so you should not consider Linux at all when choosing MinGW options. Use a Linux PC + compiler to test Linux builds.

              Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

              1 Reply Last reply
              0
              • T3STYT Offline
                T3STYT Offline
                T3STY
                wrote on last edited by
                #7

                [quote author="JKSH" date="1388068850"]MinGW can't compile Linux binaries, so you should not consider Linux at all when choosing MinGW options. Use a Linux PC + compiler to test Linux builds.[/quote]
                I know, I know! I'm only using MinGW because it is a port of the GCC compiler suite from Linux to Windows, which makes it the most compatible compiler; for Linux compiling I'll be using a Linux-enabled PC :)

                1 Reply Last reply
                0
                • JKSHJ Offline
                  JKSHJ Offline
                  JKSH
                  Moderators
                  wrote on last edited by
                  #8

                  [quote author="T3STY" date="1388070228"]I know, I know! I'm only using MinGW because it is a port of the GCC compiler suite from Linux to Windows, which makes it the most compatible compiler; for Linux compiling I'll be using a Linux-enabled PC :)[/quote]Ok :) Sorry if I sounded like I was doubting your GCC knowledge; I just wanted to say that "OpenGL performs better on Linux" should not be the reason for you to support OpenGL on Windows in addition to ANGLE.

                  Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                  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