rustdesk是一个开源的远程桌面控制系统,其受控端可为windows、linux、macOS 。本文为rustdesk编译环境搭建的过程记录,旨在分享搭建过程。
安装 visual studio Code
注意需要在语言包处,勾选英文,否则某些情况下会出问题

安装rust
rust版本选择 1.75版本,1.78以上版本的rust已经移除了对win7的支持
rustup-init.exe 输入1 安装后,切换版本
cargo --version 有回显则安装成功
rustup install 1.75 安装1.75版本
rustup toolchain list 查看都有哪些版本的环境
rustc -V 查看rust版本
rustup default 1.75-x86_64-pc-windows-msvc 切换为1.75版本


安装 flutter
flutter版本选择 3.24.5版本
解压后,把bin目录添加到path
flutter doctor 检查是否可用

安装python3
编译需要借助python3 的系列工具,常规安装即可

安装vcpkg
Vcpkg用于在Windows、Linux、Mac上管理C和C++库,极大简化了第三方库的安装,它由微软开源,源码地址:https://github.com/Microsoft/vcpkg
# pwd: C:\env\vcpkg
git clone https://github.com/Microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
vcpkg install ffmpeg:x64-windows-static mfx-dispatch:x64-windows-static
安装llvm
安装llvm,自动添加一下环境变量即可,一直点下一步
将以上添加环境变量
VCPKG_ROOT

vcpkg和flutter的环境变量,python3在安装时已选择添加环境变量

项目环境安装
直接下载的rustdesk项目是不完整的,需要手动安装hbb_common文件
从https://github.com/rustdesk/hbb_common/releases/tag/driver 复制 hbb_common
flutter环境安装
需要更换中国源,或者使用代理
cd flutter
flutter pub get
cargo install flutter_rust_bridge_codegen --version 1.75.3 --features uuid --locked
修改 flutter\pubspec.yaml
ffigen: ^7.0.0
这条命令需要等待很久
C:\Users\rustdesk\.cargo\bin\flutter_rust_bridge_codegen.exe --rust-input .\src\flutter_ffi.rs --dart-output .\flutter\lib\generated_bridge.dart --llvm-path="C:\Program Files\LLVM"
flutter pub get 更改flutter\pubspec.yaml文件后执行命令以更新包
vcpkg依赖安装
C:\Users\rustdesk\Desktop\project_code\rustdesk-1.3.9>vcpkg install
现在编译的时候大概 688/692 附近会出报错

这个问题是ffmpeg:x64-windows-static mfx-dispatch:x64-windows-static 包的问题,安装即可
编译
python .\build.py --portable --hwcodec --flutter --vram --skip-portable-pack
cd flutter && flutter clean && cd .. && python .\build.py --portable --hwcodec --flutter --vram --skip-portable-pack