From 131b4f17951bfbc72d0ee66a5a2f7a03872117bd Mon Sep 17 00:00:00 2001 From: dijunkun Date: Mon, 1 Dec 2025 13:07:36 +0800 Subject: [PATCH] [fix] resolve compilation errors on Linux --- src/common/platform.cpp | 3 --- .../linux/screen_capturer_x11.cpp | 3 +++ .../linux/screen_capturer_x11.h | 19 +++++++++++-------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/common/platform.cpp b/src/common/platform.cpp index 5b67841..17bec97 100644 --- a/src/common/platform.cpp +++ b/src/common/platform.cpp @@ -12,9 +12,6 @@ #include #include #elif __linux__ -#include -#include -#include #include #include #include diff --git a/src/screen_capturer/linux/screen_capturer_x11.cpp b/src/screen_capturer/linux/screen_capturer_x11.cpp index c633ca6..18bb2ad 100644 --- a/src/screen_capturer/linux/screen_capturer_x11.cpp +++ b/src/screen_capturer/linux/screen_capturer_x11.cpp @@ -1,6 +1,9 @@ #include "screen_capturer_x11.h" +#include +#include #include +#include #include #include diff --git a/src/screen_capturer/linux/screen_capturer_x11.h b/src/screen_capturer/linux/screen_capturer_x11.h index b40dcb5..52dbce5 100644 --- a/src/screen_capturer/linux/screen_capturer_x11.h +++ b/src/screen_capturer/linux/screen_capturer_x11.h @@ -7,10 +7,14 @@ #ifndef _SCREEN_CAPTURER_X11_H_ #define _SCREEN_CAPTURER_X11_H_ -#include -#include -#include -#include +// forward declarations for X11 types +struct _XDisplay; +typedef struct _XDisplay Display; +typedef unsigned long Window; +struct _XRRScreenResources; +typedef struct _XRRScreenResources XRRScreenResources; +struct _XImage; +typedef struct _XImage XImage; #include #include @@ -43,6 +47,9 @@ class ScreenCapturerX11 : public ScreenCapturer { void OnFrame(); + private: + void DrawCursor(XImage* image, int x, int y); + private: Display* display_ = nullptr; Window root_ = 0; @@ -60,12 +67,8 @@ class ScreenCapturerX11 : public ScreenCapturer { cb_desktop_data callback_; std::vector display_info_list_; - // 缓冲区 std::vector y_plane_; std::vector uv_plane_; - - // 鼠标光标相关 - void DrawCursor(XImage* image, int x, int y); }; } // namespace crossdesk #endif \ No newline at end of file