惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - Franky
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
J
Java Code Geeks
F
Full Disclosure
V
V2EX
The Register - Security
The Register - Security
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
云风的 BLOG
云风的 BLOG
T
Troy Hunt's Blog
Microsoft Security Blog
Microsoft Security Blog
Help Net Security
Help Net Security
P
Privacy & Cybersecurity Law Blog
K
Kaspersky official blog
博客园 - 聂微东
Recorded Future
Recorded Future
I
Intezer
S
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
H
Hacker News: Front Page
SecWiki News
SecWiki News
M
MIT News - Artificial intelligence
Security Latest
Security Latest
Attack and Defense Labs
Attack and Defense Labs
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
T
Tenable Blog
B
Blog
N
News | PayPal Newsroom
P
Proofpoint News Feed
D
Docker
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MyScale Blog
MyScale Blog
C
Cisco Blogs
A
Arctic Wolf
T
Threat Research - Cisco Blogs
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
GbyAI
GbyAI
P
Palo Alto Networks Blog
Engineering at Meta
Engineering at Meta
Hugging Face - Blog
Hugging Face - Blog
Latest news
Latest news
Project Zero
Project Zero

博客园 - Fitz

测绘中2个角度相减对于跨360问题的算法总结 windows server2012 安装IIS6服务,编译器错误消息: CS0016: 未能写入输出文件“c:\*\App_Code.*.dll”--“拒绝访问。 ” - Fitz ollama 安装好之后,是不是还需要关闭一些配置? 赫尔默特变化 A=0的情况 libaom 在ubuntu 上用鸿蒙OHOS编译 如何将带有线网卡和无线网卡的台式机作为网关/路由器 相机标定 像元大小(例如 1.4 µm × 1.4 µm)具体的含义和用途 物理焦距、像素焦距、像元与相机内参(fx, fy)的意义与作用 如何使用像素坐标和相机内参来计算夹角 HarmonyOS Next Native C++ 开发入门 Ubuntu中用HarmonyOS Next的SDK编译libsodium,并在DevEco Studio中加载运行.a库 The authenticity of host '[ssh.github.com]:443([*]:443)' can't be established. ED25519 key fingerprint is matlab 云台控制 根据图像中目标位置,控制望远镜/摄像头转向目标方向 无深度方向估计 Ubuntu 安装conda 拍摄目标:采集 1000 张多样化的图片,覆盖目标的各种环境、角度、光照、尺寸和位置,提高模型的泛化能力。 android APK的MD5值获取有效办法 3D 汽车模拟器 Three.js
windows 编译rustdesk
Fitz · 2025-09-03 · via 博客园 - Fitz

下载 rustup-init.exe 并以管理员身份运行它来安装 rust

git clone https://github.com/microsoft/vcpkg
vcpkg/bootstrap-vcpkg.bat
export VCPKG_ROOT=$PWD/vcpkg
vcpkg/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static

添加系统环境变量 VCPKG_ROOT=<path>\vcpkg<path> 应该是您在上面选择克隆 vcpkg 的位置。

Sciter 

桌面版本使用 Sciter 作为 GUI,请下载 sciter.dll

LLVM 

rust-bindgen 依赖于 clang,下载 LLVM 并安装,添加系统环境变量 LIBCLANG_PATH=<llvm_install_dir>/bin

您可以在这里下载 LLVM 二进制文件的 15.0.2 版本:64 位 / 32 位

 python -m pip install brotli -i https://pypi.tuna.tsinghua.edu.cn/simple

git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk


mkdir -p target/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll
mv sciter.dll target/debug
cargo run

python generate.py -f "E:\rustdesk\target\debug" -o "." -e "rustdesk.exe"

你贴的这个 build.py 脚本其实就是 RustDesk 官方用来做跨平台打包和构建的 Python 自动化脚本。它可以根据操作系统和参数生成 Windows portable、Linux .deb、macOS .dmg 等安装包。

从脚本来看几个重点:

  1. Windows portable 构建

    • 会先 cargo build --release 编译 RustDesk 的 Rust 核心。

    • flutter build windows --release 构建 Flutter UI。

    • 最后会调用 libs/portable/generate.py 生成 data.bin 并打包成 rustdesk_portable.exe

  2. Linux / macOS 构建

    • Linux 支持 .deb、Arch .pkg.tar.zst、Fedora .rpm

    • macOS 支持 .dmg 打包和代码签名(可选)。

  3. 第三方资源

    • external_resources 负责把某些 feature 的第三方文件下载/解压到 resources/,Flutter 也会用到。

  4. MD5 校验

    • 打包时会对关键文件生成 MD5 写入 tmpdeb/DEBIAN/md5sums

  5. 参数选项

    • --flutter:构建 Flutter UI。

    • --portable:Windows portable。

    • --skip-cargo:跳过 Rust 编译(通常只做 Flutter 构建)。

    • --hwcodec--vram--unix-file-copy-paste:启用特定功能。

    • --package:直接从已有二进制构建 Linux 包。

所以如果你的目标是生成 Windows portable 并得到 data.bin,只需要:

cd rustdesk
python3 build.py --portable

或者在 Windows 上:

python build.py --portable

前提:

  • Rust 环境可用 (cargo build --release 能成功)。

  • Python 3 + pip 依赖(libs/portable/requirements.txt)安装好。

  • Flutter SDK 可用(用于构建 UI)。

⚠️ 注意:

  • 脚本会自动调用 generate.py 生成 data.bin

  • 如果你之前尝试手动生成 data.bin 的 Rust 脚本有问题,可以直接用这个官方流程,保证和官方发布版本一致。

  • Windows portable 会生成最终的 rustdesk-<version>-install.exe