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?
Forum Updated to NodeBB v4.3 + New Features

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 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.
  • 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