|
【Linux】
buildroot QT5.12.2编译时qwayland报错
发表于 2022-1-15 11:13:50
浏览:5008
|
回复:3
打印
只看该作者
[复制链接]
楼主
本帖最后由 gaoshanyun 于 2022-1-15 14:01 编辑
项目需要QT 5.12.2,编译时qwayland报错,从错误上看是由于补丁0024-qwaylandwindow-Support-setting-window-blocked-state.patch和版本不符合。重复定义这个可以改下,但是下面还有wlSurface的报错
这些补丁不合行不行?或者有其他的解决方法。
另:QT 5.14.2编译时没有报这个错误
- <blockquote>2022-01-14T03:35:41 In file included from qwaylandshmbackingstore.cpp:40:
- 2022-01-14T03:35:41 qwaylandwindow_p.h:263:21: error: redeclaration of 'bool QtWaylandClient::QWaylandWindow::mBlocked'
- 2022-01-14T03:35:41 263 | bool mBlocked = false;
- 2022-01-14T03:35:41 | ^~~~~
- 2022-01-14T03:35:41 qwaylandwindow_p.h:260:10: note: previous declaration 'bool QtWaylandClient::QWaylandWindow::mBlocked'
- 2022-01-14T03:35:41 260 | bool mBlocked;
- 2022-01-14T03:35:41 | ^~~~~~~~
- 2022-01-14T03:35:42 Makefile:1230: recipe for target '.obj/qwaylandshmbackingstore.o' failed
- 2022-01-14T03:35:42 make[4]: *** [.obj/qwaylandshmbackingstore.o] Error 1
- 2022-01-14T03:35:42 make[4]: *** Waiting for unfinished jobs....
- 2022-01-14T03:35:42 In file included from qwaylandwindow.cpp:40:
- 2022-01-14T03:35:42 qwaylandwindow_p.h:263:21: error: redeclaration of 'bool QtWaylandClient::QWaylandWindow::mBlocked'
- 2022-01-14T03:35:42 263 | bool mBlocked = false;
- 2022-01-14T03:35:42 | ^~~~~
- 2022-01-14T03:35:42 qwaylandwindow_p.h:260:10: note: previous declaration 'bool QtWaylandClient::QWaylandWindow::mBlocked'
- 2022-01-14T03:35:42 260 | bool mBlocked;
- 2022-01-14T03:35:42 | ^~~~~~~~
- 2022-01-14T03:35:42 qwaylandwindow.cpp: In member function 'virtual void QtWaylandClient::QWaylandWindow::raise()':
- 2022-01-14T03:35:42 qwaylandwindow.cpp:446:30: error: 'wlSurface' was not declared in this scope; did you mean 'wl_surface'?
- 2022-01-14T03:35:42 446 | if (mSubSurfaceWindow && wlSurface()) {
- 2022-01-14T03:35:42 | ^~~~~~~~~
- 2022-01-14T03:35:42 | wl_surface
- 2022-01-14T03:35:42 qwaylandwindow.cpp:448:45: error: no matching function for call to 'QtWaylandClient::QWaylandWindow::commit()'
- 2022-01-14T03:35:42 448 | mSubSurfaceWindow->parent()->commit();
- 2022-01-14T03:35:42 | ^
- 2022-01-14T03:35:42 In file included from qwaylandwindow.cpp:40:
- 2022-01-14T03:35:42 qwaylandwindow_p.h:123:10: note: candidate: 'void QtWaylandClient::QWaylandWindow::commit(QtWaylandClient::QWaylandBuffer*, const QRegion&)'
- 2022-01-14T03:35:42 123 | void commit(QWaylandBuffer *buffer, const QRegion &damage);
- 2022-01-14T03:35:42 | ^~~~~~
- 2022-01-14T03:35:42 qwaylandwindow_p.h:123:10: note: candidate expects 2 arguments, 0 provided
- 2022-01-14T03:35:42 qwaylandwindow.cpp: In member function 'virtual void QtWaylandClient::QWaylandWindow::lower()':
- 2022-01-14T03:35:42 qwaylandwindow.cpp:458:30: error: 'wlSurface' was not declared in this scope; did you mean 'wl_surface'?
- 2022-01-14T03:35:42 458 | if (mSubSurfaceWindow && wlSurface())
- 2022-01-14T03:35:42 | ^~~~~~~~~
- 2022-01-14T03:35:42 | wl_surface
- 2022-01-14T03:35:42 qwaylandwindow.cpp:459:57: error: return-statement with a value, in function returning 'void' [-fpermissive]
- 2022-01-14T03:35:42 459 | return mSubSurfaceWindow->placeBelow(wlSurface());
- 2022-01-14T03:35:42 | ^
- 2022-01-14T03:35:42 qwaylandwindow.cpp: At global scope:
- 2022-01-14T03:35:42 qwaylandwindow.cpp:509:6: error: redefinition of 'bool QtWaylandClient::QWaylandWindow::windowEvent(QEvent*)'
- 2022-01-14T03:35:42 509 | bool QWaylandWindow::windowEvent(QEvent *event)
- 2022-01-14T03:35:42 | ^~~~~~~~~~~~~~
- 2022-01-14T03:35:42 qwaylandwindow.cpp:491:6: note: 'virtual bool QtWaylandClient::QWaylandWindow::windowEvent(QEvent*)' previously defined here
- 2022-01-14T03:35:42 491 | bool QWaylandWindow::windowEvent(QEvent *event)
复制代码 patch中差异点:
- --- a/src/client/qwaylandwindow_p.h
- +++ b/src/client/qwaylandwindow_p.h
- @@ -260,6 +260,7 @@ private:
- bool mBlocked;
- void updateInputRegion();
-
- + bool mBlocked = false;
- bool mUpdateRequested = false;
- bool lastVisible = false;
- QRect mLastExposeGeometry;
- --
- 2.20.1
复制代码
|
|