-
Notifications
You must be signed in to change notification settings - Fork 238
Qt6 #1999
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qt6 #1999
Conversation
This compiles and runs under Qt6. There is a problem with the country codes, but it appears otherwise to run well (client). Change list: -All cases of endl changed to Qt::endl -All case of QString::null changed to QString() -enum ESvrRegStatus -> enum class ESvrRegStatus -QVBoxLayout setMargins(0) -> setContentsMargins(0,0,0,0) -QRegExp -> QRegularExpression -QtConcurrent, inverted arguements -in the recorder files some includes added -unneeded include QtConcurrent commented out We need to test everything to be sure it works as expected, but the basics, protocol and audio, appear to be running well.
QtConcurrent parameter order changes between 5 and 6, in connectdlg, nothing else. Note there is still a problem in the locale mgmt in 6. But it compiles w/o error and runs protokol and audio error free as far as I can see.
for Qt version >= 6.0.0
with NSApp.dockTile.badgeLabel
in clientdlg
|
Do you want me to test under Arch Linux ? |
|
I compile Jamulus on CentOS 6 with Qt version 5.6.1. |
|
OK this is not going to work as the IPv6 code uses a class that no longer exists QRegExp in Qt6. |
Ok, well we can fix that after 3.8.1 - we aren't trying to squeeze Qt6 work into this upcoming release. |
Thanks to your instructions @dcorson-ticino-com I've rewritten the QRegExp code as follows: QRegularExpression rx1 ( "^\\[([^]]*)\\](?::(\\d+))?$" ); // [addr4or6] or [addr4or6]:port
QRegularExpression rx2 ( "^([^:]*)(?::(\\d+))?$" ); // addr4 or addr4:port or host or host:port
QString strPort;
QRegularExpressionMatch rx1match = rx1.match ( strAddress );
QRegularExpressionMatch rx2match = rx2.match ( strAddress );
// parse input address with rx1 and rx2 in turn, capturing address/host and port
if ( rx1match.capturedStart () == 0 )
{
// literal address within []
strAddress = rx1match.captured ( 1 );
strPort = rx1match.captured ( 2 );
bLiteralAddr = true; // don't allow hostname within []
}
else if ( rx2match.capturedStart () == 0 )
{
// hostname or IPv4 address
strAddress = rx2match.captured ( 1 );
strPort = rx2match.captured ( 2 );
}Would you be able to verify if this works for you using the new Qt6.2.0? I'm actually curious to see how Qt6 affects mobile devices. |
On vacation without my dev environment this week. I will look at this around Wed next week. |
|
I hope that Qt5 will remain an option for a good while by use of a compile option (or Qt6 option). |
|
@ngocdh The code you provided compiles OK under 6.1. Unfortunately there are other problems now in socket.cpp Where did you get Qt 6.2 from? The Qt utility does not offer me more than 6.1 |
This line compiles fine in the Windows build environment on Github, so I guess there might be something missing in your local build environment? |
Maybe update the utility first? I'm not sure though, just saying I merged my iOS code and yours, compiled ok, but the app couldn't launch. I got the following output: Someone knows how to fix this please? @emlynmac maybe? |
|
I can have a look; seems like startup is not happening in the right order. |
|
Compiling instructions can be found here: https://github.com/jamulussoftware/jamulus/blob/master/COMPILING.md To install Qt6.2.0 LT, I simply used the maintenance tool. |
|
Any updates here? Having Qt6 support would be great. |
|
I must admit I have more or less given up because I can't get git to work, as usual.
I think the code would work, but I can't find a way to resolve the 2 way conflicts despite trying everything I could find.
Just totally frustrating and demotivating.
D
… On 03 November 2021 at 21:45 ann0see ***@***.***> wrote:
Any updates here? Having Qt6 support would be great.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub #1999 (comment) , or unsubscribe https://github.com/notifications/unsubscribe-auth/APLAH4EKWJJYQY3SAI5ZU4LUKGNPNANCNFSM5DS6RPPQ .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
|
|
I could help out with git wrangling if you need it. But it looks like github doesn't think there are any conflicts to be resolved? |
|
@npostavs you can ofc. take over the PR and get the it to work by forking it. |
That's because the code is still on my PC. Git claims merging problems that I am unable to resolve with any tool I have tried. |
Could you perhaps just push your changes to a new branch without resolving anything so we can see them? |
Will do next week, leaving now for a long weekend :) |
|
@dcorson-ticino-com can you maybe just upload the code as zip file if everything fails with git? |
|
To where can I upload it ? |
|
I did some work on this branch a few weeks ago to get it up to date with master. I resolved the conflicts and successfully built with Qt5, but didn't yet get it to build with Qt6 for Windows on the github CI. See https://github.com/softins/jamulus/actions/runs/1491465763 and my branch Qt6-merged |
|
Thanks Tony. |
|
It heads into the bushes at about line 464 of the list not finding files. |
|
@softins I think the problem is that the initialise build environment function needs the QT variables. Probably we need to modify this function? |
|
@dcorson-ticino-com going to close this in favor of #1795 (comment) |
Compiles using Qt6 and Qt5
Compiles using Qt6 and Qt5
Maybe Qt6 is friendlier with MacOS
Status of this Pull Request
This compiles and works under Win10
What is missing until this pull request can be merged?
Testing under the other OSes
Checklist