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

Cannot compile: error: ‘class QWindow’ has no member named ‘setFlag’ #13

Closed
bertbrutzel opened this issue Apr 18, 2019 · 2 comments

Comments

@bertbrutzel
Copy link

Many thanks for bringing Spotlight support to Linux. I am certain that this didactic tool will help my students to better understand my lectures!!!

Sadly so far when trying to compile I get the following error output:

/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:538:10: note: candidate expects 1 argument, 2 provided /home/jfk/Software/Projecteur/projecteurapp.cc:84:11: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowTransparentForInput, true); ^ /home/jfk/Software/Projecteur/projecteurapp.cc:85:11: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::Tool, true); ^ /home/jfk/Software/Projecteur/projecteurapp.cc: In lambda function: /home/jfk/Software/Projecteur/projecteurapp.cc:102:15: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowTransparentForInput, false); ^ /home/jfk/Software/Projecteur/projecteurapp.cc:103:15: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowStaysOnTopHint, true); ^ /home/jfk/Software/Projecteur/projecteurapp.cc:110:17: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowStaysOnTopHint, false); ^ /home/jfk/Software/Projecteur/projecteurapp.cc:114:17: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowTransparentForInput, true); ^ /home/jfk/Software/Projecteur/projecteurapp.cc: In lambda function: /home/jfk/Software/Projecteur/projecteurapp.cc:125:15: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowTransparentForInput, false); ^ /home/jfk/Software/Projecteur/projecteurapp.cc:126:15: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowStaysOnTopHint, false); ^ /home/jfk/Software/Projecteur/projecteurapp.cc:133:15: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowStaysOnTopHint, true); ^ /home/jfk/Software/Projecteur/projecteurapp.cc:136:15: error: ‘class QWindow’ has no member named ‘setFlag’ window->setFlag(Qt::WindowTransparentForInput, true); ^ /home/jfk/Software/Projecteur/projecteurapp.cc: In constructor ‘ProjecteurCommandClientApp::ProjecteurCommandClientApp(const QString&, int&, char**)’: /home/jfk/Software/Projecteur/projecteurapp.cc:238:24: error: ‘QOverload’ was not declared in this scope connect(localSocket, QOverload<QLocalSocket::LocalSocketError>::of(&QLocalSocket::error), ^ /home/jfk/Software/Projecteur/projecteurapp.cc:238:64: error: expected primary-expression before ‘>’ token connect(localSocket, QOverload<QLocalSocket::LocalSocketError>::of(&QLocalSocket::error), ^ /home/jfk/Software/Projecteur/projecteurapp.cc:238:65: error: ‘::of’ has not been declared connect(localSocket, QOverload<QLocalSocket::LocalSocketError>::of(&QLocalSocket::error), ^ CMakeFiles/projecteur.dir/build.make:150: die Regel für Ziel „CMakeFiles/projecteur.dir/projecteurapp.cc.o“ scheiterte make[2]: *** [CMakeFiles/projecteur.dir/projecteurapp.cc.o] Fehler 1 CMakeFiles/Makefile2:72: die Regel für Ziel „CMakeFiles/projecteur.dir/all“ scheiterte make[1]: *** [CMakeFiles/projecteur.dir/all] Fehler 2 Makefile:83: die Regel für Ziel „all“ scheiterte make: *** [all] Fehler 2

Some system info:

$ uname -a Linux jfk 4.13.0-37-generic #42~16.04.1-Ubuntu SMP Wed Mar 7 16:03:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.6 LTS Release: 16.04 Codename: xenial

Compiler and Qt:
$ QTDIR=/opt/Qt/5.12.3/gcc_64 /opt/cmake-3.14.1-Linux-x86_64/bin/cmake ..

Window manager is xfce4 with openbox.

@jahnf
Copy link
Owner

jahnf commented Apr 18, 2019

Looks like the build is using the wrong Qt version (since you seem to set the QTDIR to /opt/Qt/5.12.3/gcc_64, please try to delete the build directory and do a retry

/usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:538:10:
(which would be the Qt Version that ships with Ubuntu 16.04...)

You could check if the correct Qt version was configured with the CMake call with
cat CMakeCache.txt | grep Qt5Core which should give you sth like this:
Qt5Core_DIR:PATH=/opt/Qt/5.12.3/gcc_64/lib/cmake/Qt5Core

What I did not realize: the setFlag method I am using was only introduced in Qt 5.9 - so this would currently the minimal Qt version to build against..
See also: https://doc.qt.io/qt-5/qwindow.html#setFlag

jahnf added a commit that referenced this issue Apr 18, 2019
@bertbrutzel
Copy link
Author

Great! The old "have you tried turning off and on again" trick did it...thanks. Now I can test it with pdfpc....=)

@jahnf jahnf closed this as completed Apr 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants