目录
安装相应的环境
安装visual studio
安装vpkg
安装rust开发环境
安装llvm和clang
编译源码
下载源码
使用Sciter作为UI的(已弃用)
使用flutter作为UI的(主流)
下载flutter sdk
桥接
静默安装
支持Windows 7系统
最近某desk免费的限制越来越多,实在没办法,平时远程控制用的比较多,只能用rustdesk了,rustdesk的安装包默认没有服务器和API服务器的,因此想着自己编译并设置一些参数直接写入程序中。
安装相应的环境
安装visual studio
到网站Visual studio下载安装包
打开后
切换至单个主件
安装后即可
安装vpkg
到github下载vpkg下载地址
或者使用git clone
# 克隆vcpkg到E盘
git clone https://github.com/microsoft/vcpkg.git E:vcpkg
# 创建VCPKG_ROOT环境变量
$vcpkgPath = "E:vcpkg"
[Environment]::SetEnvironmentVariable("VCPKG_ROOT", $vcpkgPath, [EnvironmentVariableTarget]::User)
# 将VCPKG_ROOT添加到PATH环境变量
$currentPath = [Environment]::GetEnvironmentVariable("PATH", [EnvironmentVariableTarget]::User)
if ($currentPath -notlike "*$vcpkgPath*") {
[Environment]::SetEnvironmentVariable("PATH", "$currentPath;$vcpkgPath", [EnvironmentVariableTarget]::User)
}
# 刷新当前会话的环境变量
$env:VCPKG_ROOT = $vcpkgPath
$env:PATH = "$env:PATH;$vcpkgPath"
Write-Host "VCPKG_ROOT环境变量已设置为: $vcpkgPath"
Write-Host "并已添加到PATH环境变量中"
设置好后,就可以在任意位置使用vkpg,接下来使用vkpg安装相应的依赖库
vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static ffmpeg:x64-windows-static
安装过程中如果出现连接错误,设置走代理,我使用的是v2ray
git config --global http.proxy http://127.0.0.1:10809
git config --global https.proxy http://127.0.0.1:10809
$env:http_proxy="http://127.0.0.1:10809"
$env:https_proxy="http://127.0.0.1:10809"
安装rust开发环境
到网站rust下载地址下载相应安装包
运行后选1 即可
安装llvm和clang
到该网址llvm下载并安装,同时将llvm添加到环境变量中,安装的时候勾选选项即可
编译源码
下载源码
git下载源码
我的代码中已经自动设置服务器地址为:
172.18.240.10(局域网地址)你们可以自己搜索后替换掉
连接密码修改请搜索:permanent-password
git clone https://github.com/carlpc/rustdesk.git
cd rustdesk
## 拉取子模块代码
git submodule update --init --recursive
使用Sciter作为UI的(已弃用)
下载sciter.dll到工程根目录
windows
Linux
macos
然后直接运行即可cargo run即可
cargo run
使用flutter作为UI的(主流)
可以使用github actions工作流进行编译,这里使用最原始的编译方式来编译
参考代码目录下的flutter-build.yml文件
下载flutter sdk
下载地址
解压后,将bin目录添加到环境变量
E:fluttersdkflutterin
接下来,设置为中国镜像,并切换至3.24.5
# 设置用户级环境变量
[Environment]::SetEnvironmentVariable("PUB_HOSTED_URL", "https://pub.flutter-io.cn", "User")
[Environment]::SetEnvironmentVariable("FLUTTER_STORAGE_BASE_URL", "https://storage.flutter-io.cn", "User")
在flutter目录下切换至3.24.5版本
git checkout 3.24.5
桥接
切换至rustdesk目录下的flutter生成桥接文件
cd flutter; flutter pub get
##安装桥接工具
cargo install flutter_rust_bridge_codegen --version 1.80.1 --features uuid
##生成桥接文件
.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
接下来记得开代理,需要到github拉取hwcodec的源码
$env:TEMP="G: emp"; $env:TMP="G: emp";$env:CARGO_HOME="G:cargo-cache"
python build.py --flutter --hwcodec --vram
静默安装
rustdesk.exe --silent-install
支持Windows 7系统
由于flutter 3.19以后的版本不再支持Windos 7系统,如果你需要安装在windows 7操作系统上,需要降低flutter 的版本。否则会出现无法安装的问题。
rustdesk无法安装在windows 7系统
本文使用3.19.6版本编译生成安装包。
首先切换到flutter sdk目录下,切换flutter的版本
cd E:fluttersdkflutter
git checkout -f 3.19.6
接着在rustdesk的flutter目录下生成桥接文件
flutter pub add extended_text:^13.1.0
flutter pub get
##安装flutter_rust_bridge_codegen工具:
cargo install flutter_rust_bridge_codegen --version 1.80.1 --features uuid --locked
##生成桥接文件
flutter_rust_bridge_codegen --rust-input ../src/flutter_ffi.rs --dart-output ./lib/generated_bridge.dart --c-output ./macos/Runner/bridge_generated.h
结束后,切换至根目录开始编译
cd ..
$env:TEMP="G: emp"; $env:TMP="G: emp";$env:CARGO_HOME="G:cargo-cache"
python build.py --flutter --hwcodec --vram
编译完成后即可安装于Windows 7系统上
暂无评论内容