Building from source on MAC having challenges. Seeking help.
Hi Everyone,
I recently started to build MuseScore on MAC. I went over the below.
-
Built Qt6 from this wiki:
https://wiki.qt.io/Building_Qt_6_from_Git -
Built MuseScore using GitHub downloaded source.
The build completed with some warnings but I was able to find the mscore app.
After playing with it and watching it to crash a few times, I debugged into it and found the DockView init was having a problem resulted in the below error message.
"QObject::connect: Unique connection requires the slot to be a pointer to a member function of a QObject subclass."
This leads me to think the DockView is not a QWidget after some searching.
So, I believe my problem still lies around some version issues. Could someone please give me some pointers?
Sincerely,
Student_T
Comments
MuseScore's master branch currently needs Qt 6.2.x in order to work correctly. You may have used a newer version, which could indeed cause a crash on launch because of behaviour changes in Qt 6.3+.
None of the stuff in
src/framework/dockwindow
is related to Qt Widgets, but these things are QQuickItems. The problem is that the 4th argument passed to theconnect
function is a lambda function, instead of a pointer to a member function ofDockWindow
that is annotated as a slot. This seems difficult to change, because of thepage
argument that would need to be captured by the lambda and I don't immediately see how that could be done with only a member function and not a lambda.Anyway, when using the correct version of Qt, that shouldn't be a problem for now, and we're going to have to rework the docking system quite a bit anyway, so this code might disappear.