Skip to content

Add Linux cross-compilation support and development environment setup#1

Draft
openff wants to merge 1 commit into
masterfrom
cursor/development-environment-setup-8bc8
Draft

Add Linux cross-compilation support and development environment setup#1
openff wants to merge 1 commit into
masterfrom
cursor/development-environment-setup-8bc8

Conversation

@openff
Copy link
Copy Markdown
Owner

@openff openff commented Mar 15, 2026

Summary

Adds files enabling EzPlayer to build and run on Linux, plus development environment documentation for Cursor Cloud agents.

Changes

  • linux_compat.h — Preprocessor macros stubbing Windows-only APIs (CoInitialize, memcpy_s) on Linux
  • linux_compat.cpp — Shim implementations for FFmpeg 4.x functions removed in FFmpeg 6.x (av_frame_get_channels, avcodec_encode_video2), enabling linking against system FFmpeg libraries
  • HomeWindow.h — Symlink to homewindow.h for Linux case-sensitive filesystems (Windows is case-insensitive)
  • AGENTS.md — Development environment instructions for Cursor Cloud agents, including qmake invocation, build, lint, and run commands

Context

EzPlayer is a Windows-targeting Qt/C++ media player. These changes enable cross-compilation on Linux Ubuntu using system-installed Qt 5.15, FFmpeg 6.x, and SDL2 packages without modifying any existing source code. The compatibility shims bridge the gap between the project's FFmpeg 4.2.1 API usage and the system's FFmpeg 6.x libraries.

Testing

  • Successfully compiled all source files on Linux (Ubuntu 24.04, g++ 13.3, Qt 5.15.13)
  • Successfully linked and produced a working Ezplayer binary
  • Launched the application and verified GUI functionality (menus, controls, file dialogs)
  • Opened and played a test video file
  • Ran cppcheck static analysis successfully
Open in Web Open in Cursor 

- linux_compat.h: Macros for CoInitialize and memcpy_s stubs on Linux
- linux_compat.cpp: Shims for removed FFmpeg 4.x functions (av_frame_get_channels, avcodec_encode_video2)
- HomeWindow.h: Symlink to homewindow.h for case-sensitive filesystems
- AGENTS.md: Development environment instructions for Cursor Cloud agents

Co-authored-by: openff <openff@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants