#起因:
想修改ruskdesk源码,github actions虽然好用,但是遇到频繁修改,还是本地编译方便。
#环境:
windows2022原版镜像
部署时间:2025年12月15日
RustDesk当前版本号:1.4.4
#部署记录:
(部署过程和结尾参考地址基本一致,只有Microsoft C++ Build Tools安装部分不同)
1、安装GIT( 直接下一步)
https://git-scm.com/install/windows
2、 安装 Microsoft C++ Build Tools 独立 MSVC 编译器、程序库及指令码
(安装2022版本。需登录微软账号下载)
https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
安装勾选
左侧:
【C++ 的桌面开发】
右侧:
【适用于 v143 建置工具的 C++/CLI 支援(最新)】
【适用于 v143 建置工具的 C++ 模组(x64/x86)】
【适用于 Windows 的 C++ Clang 工具】
【Windows 10 SDK (10.0.22000.0)】
3、 先安装 Rust,RustDesk 的编译主核心工具
网站下载:https://www.rust-lang.org/tools/install
出现选项,请选择 【1】安装
4. 安装和配置 vcpkg C++ 套件管理工具
#下面的指令默认都在cmd下执行。如果默认开的是posershell。则输入【cmd】切换
cmd
cd c:/
git clone https://github.com/microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat
再安装下面4个套件
vcpkg install libvpx:x64-windows-static
vcpkg install aom:x64-windows-static
vcpkg install opus:x64-windows-static
vcpkg install libyuv:x64-windows-static
设置环境变量:(设置完后重开终端)
setx VCPKG_ROOT C:\vcpkg
5. 安装 Flutter 跨平台應用程式開發框架,指定安装 3.27.2版本
cd c:/
git clone https://github.com/flutter/flutter.git -b 3.27.2
设置环境变量:(设置完后重开终端)
setx PATH "%PATH%;C:\flutter\bin"
6、安装 LLVM 编译器后端工具
下载:https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.7/LLVM-20.1.7-win64.exe
选择安装第2个 【add LLVM All users】
7、安装 python
下载:https://www.python.org/downloads/
要勾选 【Add python.exe to PATH】
8、完成后安装 flutter_rust_bridge_codegen 程序码产生器,指定 1.80.1 版本
cmd
cargo install flutter_rust_bridge_codegen --version 1.80.1 --features uuid --locked
##环境配置完毕,【重启计算机】
#RUSTDESK源码编译
1、下载源码:
下载 RustDesk 源码
https://github.com/rustdesk/rustdesk
也要下载 hbb_common 源码
https://github.com/rustdesk/hbb_common
2、將 RusDesk 源码解压到 D:\RustDesk
再將 hbb_common 源码解压到 d:\RustDesk\libs\hbb_common
3、执行命令
(主要功能是生成等下编码需要的 generated_bridge.dart 相关档案,这个命令只需执行一次就可以了)
cmd
cd d:\rusktdesk
flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/macos/Runner/bridge_generated.h
4、将服器修改成自己地址
可以修改 rustdesk\libs\hbb_common\src\config.rs
// 103 行附近
pub const RENDEZVOUS_SERVERS: &[&str] = &["rs-ny.rustdesk.com"];
改成
pub const RENDEZVOUS_SERVERS: &[&str] = &["自己地址"];
再把
pub const RS_PUB_KEY: &str = "OeVuKk5nlHiXp+APNn0Y3pC1Iwpwn44JGqrQCsWqmAw=";
改成自己的KEY
======================================================
开始正式编译,使用下列指令来做编译
cmd
cd d:\rustdesk
python build.py --portable --flutter --skip-portable-pack
编译成功的路徑:
d:\rustdesk\flutter\build\windows\x64\runner\Release
参考地址:https://www.youtube.com/watch?v=3ozr7n8Bwhs