How to make app bundle for macOS with OpenCV?
-
Now I have another error: "/Applications/Mobile/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump: error: 'QtGui.framework/QtGui': No such file or directory"
Why otool search framework there but not in Qt/version/clang/bin?
-
wrote on 21 Oct 2020, 17:52 last edited by
I would also welcome anything SGaist says (it's always useful, as are the words of jsulm).
My expertise is primarily Linux, but with a healthy dose of Mac development (and Qt ios) as well.
I'm afraid I don't have a direct answer to the
objdump
error and I don't recall ever encountering that myself.I'm going to just "throw a bunch of statements at the wall" and maybe some of this will resonate. I do apologize if this ends up being unhelpful noise.
Earlier this year I took a Linux-only qmake project and "ported it" to work on Mac OS 10.15 Catalina.
Here is the entirety of the changes that were required (you'll see it wasn't much):
https://github.com/219-design/qt-qml-project-template-with-ci/pull/26/filesI certainly do recognize, however, that incorporating OpenCV adds a layer of complexity that my template project does not contain.
I'm also using Qt 5.15 (not 5.9), and that could definitely result in different outcomes.
One thing that jumped out at me just now in my "port to Mac" diff is that I am using the
-libpath
argument tomacdeployqt
, so you could check whether any extra arguments are needed in your invocation ofmacdeployqt
I suppose another thing to double-check is that the
qmake
binary andmacdeployqt
binary being used are the ones you expect. (As in: it is possible to have multiple versions of Qt installed on a system, and it is possible to accidentally be calling uponqmake
from one Qt version instead of the other.)It seemed problematic to me that you would not see a "app.app/Contents/PlugIns/" folder being created for you. However, I just examined my own CI logs (they are public -- you can look, too), and I see only these plugins mentioned in the logs:
2020-09-12T01:19:21.6364660Z + [[ darwin19 == \d\a\r\w\i\n* ]] 2020-09-12T01:19:21.6365180Z + pushd build/src/app 2020-09-12T01:19:21.6368320Z + macdeployqt app.app -no-strip -libpath=/Users/runner/work/qt-qml-project-template-with-ci/qt-qml-project-template-with-ci/build/src/app -qmldir=../../../src/ 2020-09-12T01:19:32.0684960Z File exists, skip copy: "app.app/Contents/PlugIns/quick/libqtquickcontrols2fusionstyleplugin.dylib" 2020-09-12T01:19:32.0883740Z File exists, skip copy: "app.app/Contents/PlugIns/quick/libqtquickcontrols2imaginestyleplugin.dylib" 2020-09-12T01:19:32.1087020Z File exists, skip copy: "app.app/Contents/PlugIns/quick/libqtquickcontrols2materialstyleplugin.dylib" 2020-09-12T01:19:32.1291070Z File exists, skip copy: "app.app/Contents/PlugIns/quick/libqtquickcontrols2universalstyleplugin.dylib"
Those plugins all look QtQuick-related. So I guess if I were to stop using QtQuick I might also have zero plugins.
(GitHub doesn't seem to support permalinking to the raw log. To see the log, go to https://github.com/219-design/qt-qml-project-template-with-ci/runs/1104573793?check_suite_focus=true then click the ". . ." hamburger button and choose "View raw logs".)
Again, my apologies if none of this turns out to be relevant.
If you have a min-repro that you can post somewhere (github, pastebin, here), then I could try it on mac using Qt 5.15 and see if I can reproduce the issue.
-
Hi,
Beside the points made by @kelly-219design-com, you might be over-complicating things. The guide, while working correctly, dates back prior to Qt Creator. So you can simplify your like with it.
If you already have a working application bundle built using Qt Creator in release mode, then start from that one to make your deployment.
If there are issues, use the verbose mode of macdeployqt to see exactly where the issues are.
21/23