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 make my program work for older versions of macOS?
QtWS25 Last Chance

How to make my program work for older versions of macOS?

Scheduled Pinned Locked Moved Solved General and Desktop
14 Posts 4 Posters 1.7k Views
  • 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.
  • B Offline
    B Offline
    beginner123
    wrote on last edited by beginner123
    #1

    I have written a simple Qt program for students in my class and I deployed the simple program by using my Mac computer (macOS Catalina, version 10.15.3). When students downloaded and ran my program on their Mac computers, they often received an error message telling them that their computer OS was older than 10.15.3 and needed upgrades. While some students are able to upgrade their computers to 10.15.3, many other students are unable to accomplish that.

    My question is: What would be best way for me to solve this issue?

    Any feedback would be greatly appreciated!

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Any chances that these students are locked to High Sierra ?

      The "simplest" would be to have for example Parallels and build your application on an older version of macOS with the corresponding latest version of Xcode.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      B 2 Replies Last reply
      2
      • SGaistS SGaist

        Hi,

        Any chances that these students are locked to High Sierra ?

        The "simplest" would be to have for example Parallels and build your application on an older version of macOS with the corresponding latest version of Xcode.

        B Offline
        B Offline
        beginner123
        wrote on last edited by beginner123
        #3

        @SGaist

        That is probably right for those students. However, I do not have access to those students' computers.

        Would it be possible that I can set my application so that it would work back to a certain previous old version of macOS? If so, what should I do? Should I add a certain code in my Qt program? Or should I simply use an older version of Qt to compile and deploy my program?

        Ideally speaking, I would like to compile and deploy my application so that most students can simply download my application and run it on their computers, without going through the hassle of upgrading their computer OS.

        On the other note, if the "simplest" way is to build my application on an older version of macOS, I am happy to do so. I think I can try to downgrade my Mac computer to an older version of macOS (e.g., High Sierra or Mojave), install an appropriate version of Qt what works for this old version of macOS, and then compile and deploy my application from there. When completed, I can then upgrade my computer to the current latest version of macOS.

        1 Reply Last reply
        0
        • SGaistS SGaist

          Hi,

          Any chances that these students are locked to High Sierra ?

          The "simplest" would be to have for example Parallels and build your application on an older version of macOS with the corresponding latest version of Xcode.

          B Offline
          B Offline
          beginner123
          wrote on last edited by
          #4

          @SGaist

          I just searched the keyword "Parallels" and found that it was actually a proprietary software allowing people to work on a virtual machine environment. Are you saying that I could use the Parallels software to compile and deploy my Qt application on a simulated, previous, older version of macOS?

          If so, that would be perfect.

          Can you confirm that I have understood your suggestion correctly?

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #5

            Use Parallels to create a virtual machine with an older version of macOS, install your development stack and then build your application and use macdeployqt to prepare the package for your students.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            1
            • mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by mrjj
              #6

              Hi
              Just as a note.
              Parallels is a program that allows you to run other systems (windows, macos, linux ) in a window.
              The Os thinks its run on a real computer. This we generally speak of this as virtualization.

              Parallels is the best tool on MacOs as far as i know but there is also
              VirtualBox which is free ( also as in free beer)
              https://uk.pcmag.com/system-performance/18779/oracle-vm-virtualbox-for-mac

              But if you can buy Parallels, its recommanded as its much nicer than VirtualBox in many ways in my experience from
              seeing my co-worker use both on his mac.

              But you cant beat the price for virtualbox :)

              ps. with Parallels/virtualbox you can also check out linux or have a windows installed or
              any kind of mixed setup. I have all my development in such virtual machines as it makes it so easy
              to have different versions and/or try out stuff.
              The only downside is the sizes. Say you install a Windows 10, it will still take up as much space as it normally does so
              virtual machines are quite a harddisk space hungry usage.

              B 1 Reply Last reply
              1
              • mrjjM mrjj

                Hi
                Just as a note.
                Parallels is a program that allows you to run other systems (windows, macos, linux ) in a window.
                The Os thinks its run on a real computer. This we generally speak of this as virtualization.

                Parallels is the best tool on MacOs as far as i know but there is also
                VirtualBox which is free ( also as in free beer)
                https://uk.pcmag.com/system-performance/18779/oracle-vm-virtualbox-for-mac

                But if you can buy Parallels, its recommanded as its much nicer than VirtualBox in many ways in my experience from
                seeing my co-worker use both on his mac.

                But you cant beat the price for virtualbox :)

                ps. with Parallels/virtualbox you can also check out linux or have a windows installed or
                any kind of mixed setup. I have all my development in such virtual machines as it makes it so easy
                to have different versions and/or try out stuff.
                The only downside is the sizes. Say you install a Windows 10, it will still take up as much space as it normally does so
                virtual machines are quite a harddisk space hungry usage.

                B Offline
                B Offline
                beginner123
                wrote on last edited by beginner123
                #7

                @mrjj and @SGaist ,

                Thank you so much for your comments. I have downloaded a trial version of Parallels and am currently teaching myself on how to use it. I have successfully created a High Sierra on my Catalina. I also installed Qt on the High Sierra virtual machine. As you predicted, the performance of the High Sierra virtual machine is very slow, with a lot of lags between keystrokes and screen refreshing.

                I will try to build and deploy my Qt application from there, and see if I can make it to work properly.

                Please allow me a few days to give it a test.

                1 Reply Last reply
                1
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  What are your main machine specifications ?

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  2
                  • mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by mrjj
                    #9

                    Hi
                    Unless its a very old laptop you have
                    it should no lag that much in side the virtual macOS.

                    Did you intstall the tools ?
                    https://download.parallels.com/desktop/v14/docs/en_US/Parallels Desktop User's Guide/32792.htm

                    Those are helper drivers and sometimes helps performance.

                    B 1 Reply Last reply
                    2
                    • mrjjM mrjj

                      Hi
                      Unless its a very old laptop you have
                      it should no lag that much in side the virtual macOS.

                      Did you intstall the tools ?
                      https://download.parallels.com/desktop/v14/docs/en_US/Parallels Desktop User's Guide/32792.htm

                      Those are helper drivers and sometimes helps performance.

                      B Offline
                      B Offline
                      beginner123
                      wrote on last edited by beginner123
                      #10

                      It worked!!!

                      After the installation of Parallels Toolbox (and removing the Windows 10 virtual machine that I don't need), it frees up more space for my High Sierra virtual machine. The lag is very minimal now.

                      I now have both the High Sierra virtual machine and the original Catalina in my Mac computer. I then build and deploy my Qt application on my High Sierra virtual machine. After some testing, it appears that my Qt application is working on both High Sierra and Catalina, without asking the user to perform any upgrades of their OS.

                      I am so happy.

                      Thank you ALL SO MUCH!

                      1 Reply Last reply
                      1
                      • mrjjM Offline
                        mrjjM Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on last edited by
                        #11

                        Hi
                        Welcome to the wonderful world of virtualization :)

                        Do note the snapshot feature.

                        https://kb.parallels.com/5691

                        Its sometimes godsend as it save the complete state of the virtual machine and you can revert
                        to that state with a click of a button.
                        So take a snapshot, try upgrade something or change settings and if it turns out bad, its
                        just a click to get back to where you were before. No fuss, no stress. just click :)

                        1 Reply Last reply
                        1
                        • CiproC Offline
                          CiproC Offline
                          Cipro
                          wrote on last edited by
                          #12

                          I ran into this problem today and I found a solution, which I write here for anyone who needs it in the future.
                          It is possible to set a target for deployment, choosing the desired previous OS version.
                          For qmake there is the QMAKE_MACOSX_DEPLOYMENT_TARGET variable and for CMake there is the CMAKE_OSX_DEPLOYMENT_TARGET variable.
                          For example, to ensure compatibility from macOS Monterey onwards, I write in CMake:
                          set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0")

                          SGaistS 1 Reply Last reply
                          0
                          • CiproC Cipro

                            I ran into this problem today and I found a solution, which I write here for anyone who needs it in the future.
                            It is possible to set a target for deployment, choosing the desired previous OS version.
                            For qmake there is the QMAKE_MACOSX_DEPLOYMENT_TARGET variable and for CMake there is the CMAKE_OSX_DEPLOYMENT_TARGET variable.
                            For example, to ensure compatibility from macOS Monterey onwards, I write in CMake:
                            set(CMAKE_OSX_DEPLOYMENT_TARGET "12.0")

                            SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #13

                            @Cipro Hi and welcome to devnet,

                            It depends on how old you want to go back. You can't jump back farther than what the SDK you use to build your application supports.

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            CiproC 1 Reply Last reply
                            0
                            • SGaistS SGaist

                              @Cipro Hi and welcome to devnet,

                              It depends on how old you want to go back. You can't jump back farther than what the SDK you use to build your application supports.

                              CiproC Offline
                              CiproC Offline
                              Cipro
                              wrote on last edited by
                              #14

                              @SGaist Hi, thank you.
                              You're right. So, for example, with Qt 6.4 I can't go beyond macOS 10.14.

                              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