Application on MacOS not producing a .app gile so I can create a shippable executable
-
Is it possible this is a system-wide issue?
I created an hello world app on the Mac (rather than using one that was originally created on Linux) and that also doesn't create the .app file.
I had hours and hours of "fun" getting Qt even working on Mac OS (even more than the palava you go through on Windows to get it going) and I suppose it's possible something is wrong there. The original installer told me I needed xcode 5, but of course that won't run on this version of Mac OS) and I had to uninstall stuff and resinstall in a specific order to even get it to run Qt at all.
I can't use Qt6 because this program uses Qextserial port and we need to run 5.6.3 because of the licence situation. This all works on Windows with some effort as long as you use mingw, and with total ease and grace on Linux, it's just MacOS it's being a total pain with.
Could there be some global file in MacOS that tells it not to create the .app file for example?
-
I doubt it's xcode, because with the latest xcode on my M1 Macbook and 5.6.3 it doesn't produce the .app file (which I have tried with and without CONFIG +app_bundle). Pro file is:
#------------------------------------------------- # # Project created by QtCreator 2024-09-02T14:56:42 # #------------------------------------------------- QT += core gui CONFIG += static QT += widgets greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = MV01SW03 TEMPLATE = app include(qextserialport/src/qextserialport.pri) SOURCES += main.cpp \ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui
-
I can't debug this on my end (no access to static qt, much less such an old version).
app_bundle
is default on macOS, so specifying it explicitly should alter nothing.- have you tried to play with the
DESTDIR
variable to verify if anything is being copied over? - I noticed you left out any DEPENPATH and LIBS, so I presume they just work? At any rate, this should not have any influence.
- verify that Xcode-select outputs all the right things you would expect it?
And finally, I'd try to run qmake manually from the terminal, looking for any suspicious/ unusual output.
I am sorry I can't be more specific but what you do is rather unusual setup.
- have you tried to play with the
-
I think the static thing is a red herring because I tried creating a non-static hello world up on both Macs using the standard template and it still does nothing in terms of a .app being generated. In this particular instance STATIC being in the pro file is because because it was built on Windows as a static app and put back on to svn like that, I tried taking that out on the Mac and it made no difference.
I haven't touched DESTDIR directory, is this one of the build environment settings in Creator?
In terms of DEPENPATH and LIBS, I've not touched them, and actually, not sure what they relate to either.
I know nothing about Xcode-select or what it should do. I don't really know what Xcode is, I general don't use Macs other than for making music, I do development on Linux mainly and Windows when I am forced to and it is 95% embedded stuff I do; so I know C well and can knock up very simple GUIs for things like production test, debugging etc which although I write on Linux 99% of the time, it gets recompiled on Windows because it's all for engineery stuff for production and engineers very, very rarely use Macs.
This particular app is a Noddy program to update a binary file in a unit in the field by squirting out ASCII serial data to a bootloader I wrote for an embedded system. It has nothing but MainWindow.cpp and its associated file (and main.cpp). It's real Mickey Mouse stuff.
I'm so used to working on Linux where everything just works straight from repository installs that I've probably done something stupid on the installs on both Mac systems. I do remember about seven years ago I created a stand alone app for Mac using Qt on my old Intel Macbook, but I can remember absolutely nothing whatsoever about how I did it and at the time I likely just installed the latest verion of Qt and I suppose I must have installed Xcode - whatever that is - but I have zero recollection of what I did.
The one thing I could do at this point is delete 5.6.3 from the M1 Mac, install the latest version of Qt and see if that creates the app file, but as we have to build against 5.6.3 for licence reasons I'm not really sure that helps.
I did run qmake from the command line and it worked fine. I think what fell over was make install because it couldn't find make at which point I either gave up or got distracted trying something else.
Really appreciate you trying to help, thank you, Artur.
-
@DiBosco said in Application on MacOS not producing a .app gile so I can create a shippable executable:
The one thing I could do at this point is delete 5.6.3 from the M1 Mac, install the latest version of Qt and see if that creates the app file, but as we have to build against 5.6.3 for licence reasons I'm not really sure that helps.
Unless I am mistaken you can just download and install using online installer into a different folder and it should not interfere. should not
Xcode is Apple SDK, think of it as all the
-dev
packages in Linux plus toolkits (compilers, debuggers, whatnot). It is essential.So, give it a go - if it still fails to build a proper .app on the fresh Qt we know it's something we can probably fix with a means to reproduce errors and hopefully that could fix your main issue. If on the other hand it works just fine... We'll see.
-
If you are locked to that old version of Qt, you might want to consider virtualization and run an older version of macOS + Xcode that was officially supported by that version of Qt.
That said, as other pointed out, a static Qt version on macOS is really unusual. This platform rather uses frameworks and dynamic libraries in their bundles. -
@SGaist said in Application on MacOS not producing a .app gile so I can create a shippable executable:
That said, as other pointed out, a static Qt version on macOS is really unusual. This platform rather uses frameworks and dynamic libraries in their bundles.
As I said in my previous post, the static thing is a red herring. Whether it is built dynamic or static, I get the the same lack of .app.
I'll try the latest version on the M1 Mac and see what happens next week, have run out of time this week to try it.
-
OK, I ended up with unexpected spare time this evening so installed the latest version of Qt and it still doesn't produce a .app file.
At least with this latest version I can click on the executable from the build directory and it runs, with 5.6.3 I get a crash report that gives some Rosetta data.
-
-
@artwaw said in Application on MacOS not producing a .app gile so I can create a shippable executable:
@DiBosco said in Application on MacOS not producing a .app gile so I can create a shippable executable:
I can click on the executable from the build directory
So doesn't produce the .app but does produce executable? Just plain binary?
Yes, that's right.
This is, for clarity, on the M1 Mac. The 5.6.3 program executable crashes, the latest version 6.something exectutable runs if you click on it in the build directory.
Also for clarity, this is just an hello world program I've tried it with, written from scratch.
-
@artwaw said in Application on MacOS not producing a .app gile so I can create a shippable executable:
@DiBosco what if you try the default GUI widgets application template from the creator?
That's what I tried when I made my hello world app.
-
Ah, sorry,
written from scratch
- I misunderstood that.Might be weird and it's been ages since I tried, but: what about two-step approach? You can ask qmake to prepare build files for the Xcode with
qmake -spec macx-xcode project.pro
orqmake ~/src/myapp -spec macx-xcode
- the open the result in Xcode and try to build there?I am running out of ideas...