使用yocto krogoth构建一个在OpenGL支持的情况下为Atom X64构建发行版。如果不添加QTWebengine,BitBake将构建正常,但添加它会导致错误:
致命错误:egl/egl.h:没有这样的文件或目录
我的conf/local.conf我添加了:
DISTRO_FEATURES_append = " opengl x11 "
IMAGE_INSTALL = "qtbase qtwebengine
x11-common mesa-gl
"
CORE_IMAGE_BASE_INSTALL += "mesa-megadriver"
CORE_IMAGE_BASE_INSTALL += "libegl-gallium"
CORE_IMAGE_BASE_INSTALL += "libegl-mesa"
CORE_IMAGE_BASE_INSTALL += "libgbm"
CORE_IMAGE_BASE_INSTALL += "libgbm-gallium"
CORE_IMAGE_BASE_INSTALL += "mesa-driver-pipe-swrast"
CORE_IMAGE_BASE_INSTALL += "mesa-driver-pipe-vmwgfx"
CORE_IMAGE_BASE_INSTALL += "mesa-driver-pipe-i915"
CORE_IMAGE_BASE_INSTALL += "libgles1-mesa"
CORE_IMAGE_BASE_INSTALL += "libgles2-mesa"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl"
PREFERRED_PROVIDER_mesa-driver-swrast = "mesa-gl"
PREFERRED_PROVIDER_virtual/libgles1 = "mesa-gl"
PREFERRED_PROVIDER_virtual/libgles2 = "mesa-gl"
,如果我将虚拟/EGL设置为Mesa,我会得到
错误:什么都没有提供'Virtual/egl'
错误:MESA提供虚拟/EGL,但被跳过:preferred_provider_virtual/libgl设置为梅萨 - GL,而不是梅萨
错误:MESA提供虚拟/EGL,但被跳过:preferred_provider_virtual/libgl设置为梅萨 - GL,而不是梅萨
,如果我将所有内容都设置为MESA,则QTBase不会构建,因为找不到LGL。
我该如何通过。
也许来自台面首页的补丁会帮助您。
diff --git a/include/GL/mesa_glinterop.h b/include/GL/mesa_glinterop.h
index b76bd7e..5c172c6 100644
--- a/include/GL/mesa_glinterop.h
+++ b/include/GL/mesa_glinterop.h
@@ -51,7 +51,7 @@
#define MESA_GLINTEROP_H
#include <stddef.h>
-#include <EGL/egl.h>
+#include <stdint.h>
#ifdef __cplusplus
extern "C" {
@@ -61,6 +61,10 @@ extern "C" {
typedef struct _XDisplay Display;
typedef struct __GLXcontextRec *GLXContext;
+/* Forward declarations to avoid inclusion of EGL/egl.h */
+typedef void *EGLDisplay;
+typedef void *EGLContext;
+
/** Returned error codes. */
enum {
MESA_GLINTEROP_SUCCESS = 0,