Skip to content
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

Restore/fix support for Qt4 #665

Open
barracuda156 opened this issue Oct 3, 2023 · 3 comments
Open

Restore/fix support for Qt4 #665

barracuda156 opened this issue Oct 3, 2023 · 3 comments

Comments

@barracuda156
Copy link

While source code implies a possibility of building with Qt4

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
– it is broken, unfortunately. Apparently broken for quite a while: I have tried building QtPass back to v. 1.2.3, and it kept failing with similar errors.

Could support for Qt4 be restored? (If it was removed in an organized way, I can revert needed commits and make a PR. Presently I have no idea whether it was done in some coherent way or in random commits.)

barracuda156 referenced this issue Oct 3, 2023
 - Code is now clazy clean with
     CLAZY_CHECKS="no-connect-by-name,no-overloaded-signal"
 - Given the minimum Qt version is 5.10, remove ifdef's for older
   versions
 - Some more range based for and related cleanups.
 - Some include cleanups
@barracuda156
Copy link
Author

So there were two pointes which has broken QtPass:

  1. An arbitrary SDK has been forced in 7e735f3 which obviously could not end up nicely :)
  2. Nevertheless, with that line removed, everything up to 1.1.6 builds fine. However, 1.2.0 is badly broken. There are tons of commits in between, not yet sure what exactly has broken the build and whether it is a single or multiple issues.

@barracuda156
Copy link
Author

barracuda156 commented Dec 31, 2023

I have found why it was broken. There was a bunch of “improvements” leading to:

:info:build executor.h:78:46: error: 'Q_NULLPTR' was not declared in this scope
:info:build    78 |                       QString *process_out = Q_NULLPTR,
:info:build       |                                              ^~~~~~~~~
:info:build executor.h:79:46: error: 'Q_NULLPTR' was not declared in this scope
:info:build    79 |                       QString *process_err = Q_NULLPTR);
:info:build       |                                              ^~~~~~~~~
:info:build executor.h:82:68: error: 'Q_NULLPTR' was not declared in this scope
:info:build    82 |                       QString *process_out, QString *process_err = Q_NULLPTR);
:info:build       |                                                                    ^~~~~~~~~
. . .
:info:build imitatepass.h:39:43: error: expected ';' at end of member declaration
:info:build    39 |                         const QString &err) Q_DECL_OVERRIDE;
:info:build       |                                           ^
:info:build       |                                            ;
:info:build imitatepass.h:39:45: error: 'Q_DECL_OVERRIDE' does not name a type; did you mean 'Q_OVERRIDE'?
:info:build    39 |                         const QString &err) Q_DECL_OVERRIDE;
:info:build       |                                             ^~~~~~~~~~~~~~~
:info:build       |                                             Q_OVERRIDE
:info:build imitatepass.h:44:53: error: expected ';' at end of member declaration
:info:build    44 |                               bool readStderr = true) Q_DECL_OVERRIDE;
:info:build       |                                                     ^
:info:build       |                                                      ;
:info:build imitatepass.h:44:55: error: 'Q_DECL_OVERRIDE' does not name a type; did you mean 'Q_OVERRIDE'?
:info:build    44 |                               bool readStderr = true) Q_DECL_OVERRIDE;
:info:build       |                                                       ^~~~~~~~~~~~~~~
:info:build       |                                                       Q_OVERRIDE
:info:build imitatepass.h:49:24: error: expected ';' at end of member declaration
:info:build    49 |   virtual void GitInit() Q_DECL_OVERRIDE;
:info:build       |                        ^
:info:build       |                         ;

This is Qt5-only syntax: https://forum.qt.io/topic/66593/error-q_decl_override-does-not-name-a-type
CsoundQt/CsoundQt#228

Breaking commits:
5b8e9cd
7cd15e7
12c08ea

Will see if fixing these will fix the build.

@barracuda156
Copy link
Author

UPD. This does not work too: e0964b9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant