embeded armhf libEGL.so opengl 编译qt-.12.3源码 qtwayland 报错
编译qtwayland 报错如下:
------------------------------------------------------------------------
../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp: In static member function ‘static void QtWaylandClient:WaylandXCompositeEGLClientBufferIntegration::rootInformation(void*, qt_xcomposite*, const char*, uint32_t)’:
../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp:140:67: error: cannot convert ‘Display* {aka _XDisplay*}’ to ‘EGLNativeDisplayType {aka gbm_device*}’ for argument ‘1’ to ‘void* eglGetDisplay(EGLNativeDisplayType)’
integration->mEglDisplay = eglGetDisplay(integration->mDisplay);
^
In file included from ../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h:56:0,
from ../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp:40:
/usr/include/X11/Xlib.h:255:8: note: class type ‘Display {aka _XDisplay}’ is incomplete
struct _XDisplay; /* Forward declare before use for C++ */
^
../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp: In member function ‘void QtWaylandClient:WaylandGLContext::updateGLFormat()’:
../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp:338:88: error: cannot convert ‘wl_egl_window*’ to ‘EGLNativeWindowType {aka gbm_surface*}’ for argument ‘3’ to ‘void* eglCreateWindowSurface(EGLDisplay, EGLConfig, EGLNativeWindowType, const EGLint*)’
EGLSurface eglSurface = eglCreateWindowSurface(m_eglDisplay, m_config, eglWindow, 0);
------------------------------------------------------------------------
编译qt源码时,带有opengl es2 参数,系统安装有嵌入式的mesa库:
root@firefly:/usr# ls -l /usr/lib/arm-linux-gnueabihf/libEGL.so*
lrwxrwxrwx 1 root root 18 Jun 15 2018 /usr/lib/arm-linux-gnueabihf/libEGL.so -> mesa-egl/libEGL.so
lrwxrwxrwx 1 root root 10 Dec 15 2017 /usr/lib/arm-linux-gnueabihf/libEGL.so.1 -> libMali.so
lrwxrwxrwx 1 root root 10 Dec 15 2017 /usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 -> libMali.so
root@firefly:/usr# ls -l /usr/lib/arm-linux-gnueabihf/mesa-egl/
total 172
-rw-r--r-- 1 root root 38 Jun 15 2018 ld.so.conf
lrwxrwxrwx 1 root root 15 Jun 15 2018 libEGL.so -> libEGL.so.1.0.0
lrwxrwxrwx 1 root root 15 Jun 15 2018 libEGL.so.1 -> libEGL.so.1.0.0
-rw-r--r-- 1 root root 142532 Jun 15 2018 libEGL.so.1.0.0
lrwxrwxrwx 1 root root 18 Jun 15 2018 libGLESv2.so -> libGLESv2.so.2.0.0
lrwxrwxrwx 1 root root 18 Jun 15 2018 libGLESv2.so.2 -> libGLESv2.so.2.0.0
-rw-r--r-- 1 root root 34092 Jun 15 2018 libGLESv2.so.2.0.0
root@firefly:/usr#
编译 qt 源码 configure 配置如下
./configure \
-prefix /opt/qt-5.12.3 \
-release \
-v \
-opensource \
-platform linux-arm-gnueabi-g++ \
-make libs \
-optimized-qmake \
-opengl es2 \
-no-cups \
-pch \
-shared \
-nomake examples \
-nomake tests \
-qt-libjpeg \
-qt-zlib \
-skip qt3d \
-skip qtcanvas3d \
-skip qtlocation \
-skip qtcharts \
-qt-libpng \
-feature-wayland-server \
-gstreamer
|