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