Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
How to keep up with new macOs
I'm asking for usefull advice what to do (and what not) to keep up with new versions of macOs for development with Qt.
I built a non-commercial MacOs app that generates midi signals based on object and motion detection using a built-in or connected usb-camera.
I work under El Capitan. I use Qt 5.6.1. for the GUI, (based on Xcode 7.3.1), OpenCV 3.4.3. for motion and object detection, and RtMidi 3.0.0 as API for midi functionality. Everything programmed in C++. (I do not use QML).
The app functions well and can send its midi output to DAW's (such as Ableton or Logic Pro).
I also built a deployment script for running the app on a 'clean' Mac. It incorporates OpenCV libraries and QT frameworks and all dependencies correctly.
For more info see my website paulelhierro.com
As times goes by, I'm thinking on how to stay up-to-date. Sooner or later I have to buy a new Apple (or Windows?) and install all new versions of all relevant software to rebuild this programm (and its underlying software as OpenCV) again for modern machines and latest operating systems (Catalina?).
I'm asking usefull advice what to do from people who were faced with same problems.
Hi and welcome to devnet,
It will all depend on who you are targeting. Usually, it's "build with the latest version of Xcode that supports the oldest version of macOS you want to have",
but to be more specific:
- if I read this about installing OpenCV and Xcode, I think there must be developers with experience with bugfixes and of course with Qt in this area.
- so what are stable and workable combinations of versions of MacOs, Qt, Xcode, OpenCV etc. for the latest MacOs versions?
Then you will have to follow Apple's moto: use the latest and up to date versions of their tools.
However, experience shows that you are usually safer using the same major version of Xcode that was used to build your dependencies as it sometimes break things with regards to their APIs.
But still, my original suggestion applies. You have to take into consideration the expected audience of your software.
Your last suggestion, I always said that the first time my students entered the classroom. And at this moment I am the expected audience myself. But if I want to give this to another person or school, then a problem may arise.
Your second remark about Xcode, do you suggest here that apps developed on the basis of Xcode 7.3.1 also work in higher (than 10.11.6, El Capitan) macos versions? Same for Qt?
I dont think so...
That will depend on the APIs used by the application. And also heavily on the changes made by Apple to their design.
You can't indeed guarantee that there won't be things breaking but it does not mean that you will have to do a mandatory rebuild of your application for each new macOS release. When building your application you can set the oldest supported system you want to target.
I think my problem is an ideal problem for AI-specialists, like IDIAP...? They could start a new Research Group and call it "PROGRAMMING AND SYSTEM PERCEPTION AND ACTIVITY UNDERSTANDING" (or do you have a better proposal?) to solve these kind of compatibility-issues with AI...
Well, the solution came earlier than I expected. My old iMac (2007!) had a problem with its graphics, and so I started with a clean MacBook Pro with Mojave pre-installed.
I downloaded the latest versions of Xcode (11.3.1) and Qt Creator 4.12.2 (Qt 5.14.2). I rebuild the OpenCV library and successfully rebuild my application. There were some small 'bugs', especially layout problems to solve. Not too bad.
But this was all I asked for !