scrcpy系列:编译client

windows11环境 scrcpy 电脑端编译环境,半小时搞定

参考https://github.com/Genymobile/scrcpy/blob/master/doc/build.md ,主要是copy过来,只考虑windows环境,最方便开发的方案。

python下安装meson

1
2
3
4
5
6
7
D:\>pip install meson

D:\>meson -v
1.7.0

D:\>pip show meson
Location: d:\python\python38\lib\site-packages

python下安装ninja

1
pip install ninja//clion自带,不需要再安装。也可以通过其它方式安装,只是一个exe文件。

windows下安装mingw( MSYS2

MSYS2除了mingw还包括什么?//问一下deepseek

MSYS2 是一个为 Windows 提供类 Unix 开发环境的工具,除了 MinGW(用于生成原生 Windows 程序),它还包含包管理系统Pacman

  • msys:提供 Unix 工具(如 coreutils, curl, git)和开发环境。
  • mingw32(32 位)和 mingw64(64 位):包含针对 Windows 的 GCC 工具链和库。
  • ucrt64(新版):基于 Universal C Runtime (UCRT) 的工具链,未来可能成为默认。

mingw下安装运行时

1
2
3
4
# runtime dependencies
pacman -S mingw-w64-x86_64-SDL2 \
mingw-w64-x86_64-ffmpeg \
mingw-w64-x86_64-libusb

mingw下安装构建依赖项

1
2
3
4
# client build dependencies mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-make \
mingw-w64-x86_64-gcc \
mingw-w64-x86_64-pkg-config

git代理(访问github,使用https,不要用ssh)

1
2
git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080

fork & clone代码到D:\work\scrcpy

编译

把提前下载的server端scrcpy-server放在”D:\work"目录下

如果编译有问题可以修改D:\work\scrcpy\meson_options.txt最小依赖

1
2
3
option('compile_server', type: 'boolean', value: false, description: 'Build the server')
option('v4l2', type: 'boolean', value: false, description: 'Enable V4L2 feature when supported')
option('usb', type: 'boolean', value: false, description: 'Enable HID/OTG features when supported')

在scrcpy根目录下执行以下命令编译

1
2
3
meson setup y --buildtype=release --strip -Db_lto=true \
-Dprebuilt_server=../scrcpy-server
ninja -Cy # DO NOT RUN AS ROOT

image-20250211235315423

运行

编译生成的文件在D:\work_kt\scrcpy2\y\app目录下。

把动态链接库copy到这个目录(直接copy mingw下载的dll,运行报错,从官网下载或直接从github 下载scrcpy发布版本里找dll)