最近项目上使用RK3568进行软件开发,在编译QT5.12.8 eglfs版本时,报fbdev_window.h无法找到,按照网友的解决方案:
方案一、创建一个空的fbdev_window.h,结果报fbdev_window *没有定义;
方案二、创建一个软链接,将fbdev_window.h软链接到egl.h,结果如方案一所示。
经查阅官方的资料和国外的解决方案,fbdev_window.h文件如下
/*
* This confidential and proprietary software may be used only as
* authorised by a licensing agreement from ARM Limited
* (C) COPYRIGHT 2008-2011 ARM Limited
* ALL RIGHTS RESERVED
* The entire notice above must be reproduced on all authorised
* copies and copies may only be made to the extent permitted
* by a licensing agreement from ARM Limited.
*/
/**
* @file fbdev_window.h
* @brief A window type for the framebuffer device (used by egl and tests)
*/
#ifndef _FBDEV_WINDOW_H_
#define _FBDEV_WINDOW_H_
#ifdef __cplusplus
extern "C" {
#endif
typedef enum
{
FBDEV_PIXMAP_DEFAULT = 0,
FBDEV_PIXMAP_SUPPORTS_UMP = (1<<0),
FBDEV_PIXMAP_ALPHA_FORMAT_PRE = (1<<1),
FBDEV_PIXMAP_COLORSPACE_sRGB = (1<<2),
FBDEV_PIXMAP_EGL_MEMORY = (1<<3) /* EGL allocates/frees this memory */
} fbdev_pixmap_flags;
typedef struct fbdev_window
{
unsigned short width;
unsigned short height;
} fbdev_window;
typedef struct fbdev_pixmap
{
unsigned int height;
unsigned int width;
unsigned int bytes_per_pixel;
unsigned char buffer_size;
unsigned char red_size;
unsigned char green_size;
unsigned char blue_size;
unsigned char alpha_size;
unsigned char luminance_size;
fbdev_pixmap_flags flags;
unsigned short *data;
unsigned int format; /* extra format information in case rgbal is not enough, especially for YUV formats */
} fbdev_pixmap;
#ifdef __cplusplus
}
#endif
#endif