fixing doc

This commit is contained in:
rustdesk
2025-06-18 01:59:54 +09:00
parent d8c4d85186
commit 1ea644d0dd
118 changed files with 3108 additions and 9104 deletions

View File

@@ -3,9 +3,9 @@ title: FAQ para Windows
weight: 40
---
# vcpkg el paquete de descarga falló
## vcpkg el paquete de descarga falló
## Error
### Error
```
-- Fetching https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b...
@@ -13,15 +13,15 @@ weight: 40
Command failed: D:/program/Git/mingw64/bin/git.exe fetch https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b --depth 1 -n
```
## Solución
### Solución
Usa un navegador para descargar `https://chromium.googlesource.com/libyuv/libyuv/+archive/287158925b0e03ea4499a18b4e08478c5781541b.tar.gz`, luego muévelo a `vcpkg/downloads` y reinstalar.
# El paquete en Cargo.lock no existe
## El paquete en Cargo.lock no existe
## Error
### Error
```
$ cargo run
@@ -42,34 +42,34 @@ $ cargo run
Tal vez el autor usó `git force push` y la confirmación anterior se sobrescribió.
## Solución
### Solución
`cargo update`, forzar la actualización del paquete
# VCPKG_ROOT no establecido
## VCPKG_ROOT no establecido
## Error
### Error
```
thread 'main' panicked at 'Failed to find package: VcpkgNotFound("No vcpkg installation found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'")', libs\scrap\build.rs:7:45
```
## Solución
### Solución
Agregar `VCPKG_ROOT` variable de entorno, o ejecutar con `VCPKG_ROOT=<vcpkg_dir> cargo run`
# clang no instalado, o LIBCLANG_PATH no establecido
## clang no instalado, o LIBCLANG_PATH no establecido
## Error
### Error
```
thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', C:\Users\selfd\.cargo\registry\src\mirrors.ustc.edu.cn-61ef6e0cd06fb9b8\bindgen-0.59.2\src/lib.rs:2144:31
```
## Solución
### Solución
Instalar [llvm](https://releases.llvm.org/download.html), Añade el `LIBCLANG_PATH` variable de entorno como `llvm_install_dir/bin`

View File

@@ -3,9 +3,9 @@ title: FAQ
weight: 40
---
# Échec du téléchargement du package vcpkg
## Échec du téléchargement du package vcpkg
## Erreur
### Erreur
```
-- Fetching https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b...
@@ -13,14 +13,14 @@ weight: 40
Command failed: D:/program/Git/mingw64/bin/git.exe fetch https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b --depth 1 -n
```
## Solution
### Solution
Utiliser un navigateur pour télécharger `https://chromium.googlesource.com/libyuv/libyuv/+archive/287158925b0e03ea4499a18b4e08478c5781541b.tar.gz`, puis déplacez-le dans `vcpkg/downloads` et réinstallez.
# Le paquet dans Cargo.lock n'existe pas
## Le paquet dans Cargo.lock n'existe pas
## Erreur
### Erreur
```
$ cargo run
@@ -41,31 +41,31 @@ $ cargo run
Peut-être que l'auteur a utilisé `git force push` et que le commit précédent a été écrasé.
## Solution
### Solution
`cargo update`, forcer la mise à jour du paquet.
# VCPKG_ROOT non défini
## VCPKG_ROOT non défini
## Erreur
### Erreur
```
thread 'main' panicked at 'Failed to find package: VcpkgNotFound("No vcpkg installation found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'")', libs\scrap\build.rs:7:45
```
## Solution
### Solution
Ajoutez la variable d'environnement `VCPKG_ROOT` ou lancer avec la commande `VCPKG_ROOT=<vcpkg_dir> cargo run`
# clang non installé ou LIBCLANG_PATH non défini
## clang non installé ou LIBCLANG_PATH non défini
## Erreur
### Erreur
```
thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', C:\Users\selfd\.cargo\registry\src\mirrors.ustc.edu.cn-61ef6e0cd06fb9b8\bindgen-0.59.2\src/lib.rs:2144:31
```
## Solution
### Solution
Installer [llvm](https://releases.llvm.org/download.html), et ajoutez la variable d'environnement `LIBCLANG_PATH` avec la valeur `llvm_install_dir/bin`

View File

@@ -3,20 +3,20 @@ title: Windows 常见问题
weight: 40
---
# vcpkg下载包失败
## 错误示例
## vcpkg下载包失败
### 错误示例
```
-- Fetching https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
Command failed: D:/program/Git/mingw64/bin/git.exe fetch https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b --depth 1 -n
```
## 解决方法
### 解决方法
使用浏览器下载`https://chromium.googlesource.com/libyuv/libyuv/+archive/287158925b0e03ea4499a18b4e08478c5781541b.tar.gz`, 然后放到`vcpkg/downloads`下, 重新安装.
# Cargo.lock里的版本不存在
## 错误示例
## Cargo.lock里的版本不存在
### 错误示例
```
$ cargo run
Updating git repository `https://github.com/open-trade/confy`
@@ -34,25 +34,25 @@ $ cargo run
object not found - no match for id (27fa12941291b44ccd856aef4a5452c1eb646047); class=Odb (9); code=NotFound (-3)
```
可能作者使用`git force push`覆盖了之前的commit
## 解决方法
### 解决方法
`cargo update`强制更新包
# VCPKG_ROOT环境变量未设置
## 错误示例
## VCPKG_ROOT环境变量未设置
### 错误示例
```
thread 'main' panicked at 'Failed to find package: VcpkgNotFound("No vcpkg installation found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'")', libs\scrap\build.rs:7:45
```
## 解决办法
### 解决办法
添加VCPKG_ROOT环境变量, 或者使用`VCPKG_ROOT=<vcpkg_dir> cargo run`
# 未安装clang环境, 或未设置LIBCLANG_PATH环境变量
## 错误示例
## 未安装clang环境, 或未设置LIBCLANG_PATH环境变量
### 错误示例
```
thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', C:\Users\selfd\.cargo\registry\src\mirrors.ustc.edu.cn-61ef6e0cd06fb9b8\bindgen-0.59.2\src/lib.rs:2144:31
```
## 解决办法
### 解决办法
安装[llvm](https://releases.llvm.org/download.html), 设置`LIBCLANG_PATH`环境变量为`llvm_install_dir/bin`

View File

@@ -3,9 +3,9 @@ title: Windows 常見問題
weight: 40
---
# vcpkg 下載包失敗
## vcpkg 下載包失敗
## 錯誤
### 錯誤
```
-- Fetching https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b...
@@ -13,15 +13,15 @@ weight: 40
Command failed: D:/program/Git/mingw64/bin/git.exe fetch https://chromium.googlesource.com/libyuv/libyuv 287158925b0e03ea4499a18b4e08478c5781541b --depth 1 -n
```
## 解決方法
### 解決方法
使用瀏覽器下載 `https://chromium.googlesource.com/libyuv/libyuv/+archive/287158925b0e03ea4499a18b4e08478c5781541b.tar.gz`,然後放到 `vcpkg/downloads下重新安裝。
# Cargo.lock 裡的套件不存在
## Cargo.lock 裡的套件不存在
## 錯誤
### 錯誤
```
$ cargo run
@@ -42,34 +42,34 @@ $ cargo run
可能作者使用 `git force push` 覆蓋了之前的 commit。
## 解決方法
### 解決方法
使用 `cargo update`,強制更新套件
# VCPKG_ROOT 環境變數未設置
## VCPKG_ROOT 環境變數未設置
## 錯誤
### 錯誤
```
thread 'main' panicked at 'Failed to find package: VcpkgNotFound("No vcpkg installation found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'")', libs\scrap\build.rs:7:45
```
## 解決辦法
### 解決辦法
加入 VCPKG_ROOT 環境變數, 或者使用 `VCPKG_ROOT=<vcpkg_dir> cargo run`
# 未安裝 clang 環境,或未設置 LIBCLANG_PATH 環境變數
## 未安裝 clang 環境,或未設置 LIBCLANG_PATH 環境變數
## 錯誤
### 錯誤
```
thread 'main' panicked at 'Unable to find libclang: "couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', C:\Users\selfd\.cargo\registry\src\mirrors.ustc.edu.cn-61ef6e0cd06fb9b8\bindgen-0.59.2\src/lib.rs:2144:31
```
## 解決辦法
### 解決辦法
安裝 [llvm](https://releases.llvm.org/download.html),設置 `LIBCLANG_PATH` 環境變數為 `llvm_install_dir/bin`

View File

@@ -3,16 +3,120 @@ title: macOS
weight: 21
---
Hay múltiples formas de hacer esto, esta guía asume que `Xcode`, `Git` y `Homebrew` ya están instalados.
El mayor desafío es probablemente encontrar versiones de todas las herramientas que funcionen juntas, especialmente porque partes de la cadena de herramientas como Xcode y LLVM están dictadas por tu versión de macOS. Las versiones utilizadas en esta guía probablemente no sean las que deberías usar. Un punto de partida para determinar qué versiones usar es mirar en el [flujo de trabajo de compilación de GitHub](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) para la versión de RustDesk que deseas compilar. Elige la etiqueta para ver el archivo en la esquina superior izquierda de la página. Pero eso no necesariamente funcionará porque las herramientas de macOS que vienen con el runner de GitHub podrían no ser las mismas versiones que las de tu sistema local.
### Export
`export` se utiliza para establecer varias variables de entorno. Cuando ejecutas `export`, esa variable se establece solo para la sesión de terminal actual, y por lo tanto debe repetirse para cada nueva ventana de terminal que quieras usar para compilar RustDesk, ahora o en el futuro. Generalmente, es preferible agregar todos los `export`s a un script que se ejecute automáticamente para cada terminal que se abra, por ejemplo `~/.bash_profile`. Los comandos `export` completos listados aquí pueden simplemente agregarse al archivo, pero también deben ejecutarse en la terminal actual porque el archivo no se lee hasta que se abre una *nueva* terminal.
## Instalar las herramientas que vamos a usar desde Homebrew
```sh
brew install python3 create-dmg nasm cmake gcc wget ninja pkg-config wget rustup
```
cd
Algunas de las instalaciones podrían fallar porque algunas de las carpetas de destino no existen en nuestro sistema. En ese caso, crea la carpeta, establece el propietario y los permisos y ejecuta el comando `brew` nuevamente. Por ejemplo, si `/usr/local/include` no existe:
```sh
sudo mkdir /usr/local/include
sudo chown <nombre de usuario>:admin /usr/local/include
sudo chmod 775 /usr/local/include
```
## Instalar vcpkg
Vcpkg se utiliza para gestionar las dependencias de C/C++ utilizadas por RustDesk. Decide dónde quieres la instalación y ejecuta lo siguiente desde la carpeta en la que quieres que resida la carpeta `vcpkg`. En este ejemplo se usa `/Users/<nombre de usuario>/repos/` como ubicación, y la etiqueta `2023.04.15` se usa como versión.
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
./bootstrap-vcpkg.sh
brew install nasm yasm
./bootstrap-vcpkg.sh -disableMetrics
./vcpkg install libvpx libyuv opus aom
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk
export VCPKG_ROOT=$HOME/vcpkg
cargo run
export VCPKG_ROOT=~/repos/vcpkg
```
## Instalar y configurar Rust
Usamos `rustup` para gestionar Rust, que ya se instaló anteriormente usando Homebrew. Pero aún necesita configurarse. Sigue las instrucciones y asegúrate de que tanto `rustup` como `rustc` estén en el `PATH`. En este ejemplo usamos la versión de Rust `1.75.0`, pero es posible que necesites usar una versión diferente. Puedes instalar y gestionar múltiples versiones de Rust con `rustup`.
```sh
rustup-init
rustup default 1.75.0
rustup component add rustfmt
```
Para obtener una descripción general de las cadenas de herramientas de Rust instaladas y predeterminadas, ejecuta `rustup show`.
## Descargar los archivos fuente de RustDesk
Decide dónde quieres los archivos fuente de RustDesk y ejecuta lo siguiente desde la carpeta en la que quieres que resida la carpeta `rustdesk`. En este ejemplo se usa `/Users/<nombre de usuario>/repos/` como ubicación.
```sh
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk/libs/portable/
python3 -m pip install --upgrade pip
pip3 install -r requirements.txt
```
Si `python3` o `pip` son desconocidos, agrégalos al `PATH` con algo como (usa tus nombres de carpeta reales):
```sh
export PATH=~/Library/Python/3.9/bin:$PATH
```
Una vez hecho esto, ejecuta nuevamente el/los comando(s) que fallaron. Recuerda también editar `~/.bash_profile`.
## Instalar componentes de interfaz de usuario
RustDesk se puede compilar usando tanto [Sciter](https://sciter.com/) como [Flutter](https://flutter.dev/). Ambos necesitan componentes adicionales, así que sigue los pasos para la versión relevante, o ambas.
### Sciter
Desde la carpeta `rustdesk`, ejecuta:
```sh
wget https://github.com/c-smile/sciter-sdk/raw/master/bin.osx/libsciter.dylib
```
### Flutter
[FVM](https://fvm.app/) te permite gestionar qué versión de Flutter se usa, y es probablemente la forma más fácil de poder probar diferentes versiones de Flutter fácilmente.
```sh
brew tap leoafarias/fvm
brew install fvm cocoapods
```
Instala y usa, por ejemplo Flutter `3.16.9`, con:
```sh
fvm global 3.16.9
```
FVM está diseñado para usar una configuración más compleja donde puede proporcionar diferentes versiones de Flutter para diferentes proyectos, pero eso está más allá del alcance de esta guía. En su lugar, simplemente agrega la ubicación del Flutter predeterminado proporcionado por FVM a tu `PATH` manualmente, lo que significa que debes usar `fvm global` para cambiar la versión de Flutter:
```sh
export PATH=$HOME/fvm/default/bin:$PATH
```
Una vez hecho esto, deberías desactivar la telemetría y verificar si todo está bien:
```sh
flutter --disable-analytics
dart --disable-analytics
flutter doctor -v
```
No importa si algunas de las verificaciones fallan, generalmente lo harán, lo importante es que la verificación del entorno que pretendes usar esté bien, es decir, `Xcode`. Si se reportan problemas, resuélvelos antes de continuar.
Una vez que Flutter esté funcionando, es hora de instalar el "puente" que une Rust y Flutter. Aquí hay otra de las versiones que deben funcionar juntas con todo lo demás, en este ejemplo usamos `1.80.1`:
```sh
cargo install flutter_rust_bridge_codegen --version "1.80.1" --features "uuid"
```
## Compilar
Compila desde la carpeta `rustdesk`. Compila la versión Sciter con:
```sh
python3 ./build.py
```
Compila la versión Flutter con:
```sh
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
python3 ./build.py --flutter
```
Si todo va bien, ahora deberías tener un archivo `dmg` listo para instalar en tu carpeta `rustdesk`.

View File

@@ -3,17 +3,120 @@ title: macOS
weight: 21
---
Il existe plusieurs façons de faire cela, ce guide suppose que `Xcode`, `Git` et `Homebrew` sont déjà installés.
Le plus grand défi est probablement de trouver des versions de tous les outils qui fonctionnent ensemble, surtout que des parties de la chaîne d'outils comme Xcode et LLVM sont dictées par votre version de macOS. Les versions utilisées dans ce guide ne sont probablement pas celles que vous devriez utiliser. Un point de départ pour déterminer quelles versions utiliser est de consulter le [workflow de build GitHub](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) pour la version de RustDesk que vous souhaitez compiler. Choisissez le tag pour lequel voir le fichier dans le coin supérieur gauche de la page. Mais cela ne fonctionnera pas nécessairement car les outils macOS fournis avec le runner GitHub pourraient ne pas être les mêmes versions que celles de votre système local.
### Export
`export` est utilisé pour définir diverses variables d'environnement. Lorsque vous exécutez `export`, cette variable est définie uniquement pour la session de terminal actuelle, et celles-ci doivent donc être répétées pour chaque nouvelle fenêtre de terminal que vous souhaitez utiliser pour compiler RustDesk, maintenant ou à l'avenir. Généralement, il est préférable d'ajouter tous les `export`s à un script qui est exécuté automatiquement pour chaque terminal ouvert, par exemple `~/.bash_profile`. Les commandes `export` complètes listées ici peuvent simplement être ajoutées au fichier, mais doivent également être exécutées dans le terminal actuel car le fichier n'est pas lu jusqu'à ce qu'un *nouveau* terminal soit ouvert.
## Installer les outils que nous allons utiliser depuis Homebrew
```sh
brew install python3 create-dmg nasm cmake gcc wget ninja pkg-config wget rustup
```
cd
Certaines installations pourraient échouer car certains dossiers cibles n'existent pas sur notre système. Dans ce cas, créez le dossier, définissez le propriétaire et les permissions et exécutez à nouveau la commande `brew`. Par exemple si `/usr/local/include` n'existe pas :
```sh
sudo mkdir /usr/local/include
sudo chown <nom d'utilisateur>:admin /usr/local/include
sudo chmod 775 /usr/local/include
```
## Installer vcpkg
Vcpkg est utilisé pour gérer les dépendances C/C++ utilisées par RustDesk. Décidez où vous voulez l'installation et exécutez ce qui suit depuis le dossier dans lequel vous voulez que le dossier `vcpkg` réside. Dans cet exemple `/Users/<nom d'utilisateur>/repos/` est utilisé comme emplacement, et le tag `2023.04.15` est utilisé comme version.
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
./bootstrap-vcpkg.sh
brew install nasm yasm
./bootstrap-vcpkg.sh -disableMetrics
./vcpkg install libvpx libyuv opus aom
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk
export VCPKG_ROOT=$HOME/vcpkg
wget https://github.com/c-smile/sciter-sdk/raw/master/bin.osx/libsciter.dylib
cargo run
export VCPKG_ROOT=~/repos/vcpkg
```
## Installer et configurer Rust
Nous utilisons `rustup` pour gérer Rust, qui a déjà été installé ci-dessus en utilisant Homebrew. Mais il doit encore être configuré. Suivez les instructions et assurez-vous que `rustup` et `rustc` sont sur le `PATH`. Dans cet exemple, nous utilisons la version Rust `1.75.0`, mais vous pourriez avoir besoin d'utiliser une version différente. Vous pouvez installer et gérer plusieurs versions de Rust avec `rustup`.
```sh
rustup-init
rustup default 1.75.0
rustup component add rustfmt
```
Pour un aperçu des chaînes d'outils Rust installées et par défaut, exécutez `rustup show`.
## Télécharger les fichiers sources de RustDesk
Décidez où vous voulez les fichiers sources de RustDesk et exécutez ce qui suit depuis le dossier dans lequel vous voulez que le dossier `rustdesk` réside. Dans cet exemple `/Users/<nom d'utilisateur>/repos/` est utilisé comme emplacement.
```sh
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk/libs/portable/
python3 -m pip install --upgrade pip
pip3 install -r requirements.txt
```
Si `python3` ou `pip` sont inconnus, ajoutez-les au `PATH` avec quelque chose comme (utilisez vos noms de dossiers réels) :
```sh
export PATH=~/Library/Python/3.9/bin:$PATH
```
Une fois cela fait, exécutez à nouveau la ou les commandes qui ont échoué. N'oubliez pas de modifier également `~/.bash_profile`.
## Installer les composants d'interface utilisateur
RustDesk peut être compilé en utilisant à la fois [Sciter](https://sciter.com/) et [Flutter](https://flutter.dev/). Les deux nécessitent des composants supplémentaires, alors suivez les étapes pour la version pertinente, ou les deux.
### Sciter
Depuis le dossier `rustdesk`, exécutez :
```sh
wget https://github.com/c-smile/sciter-sdk/raw/master/bin.osx/libsciter.dylib
```
### Flutter
[FVM](https://fvm.app/) vous permet de gérer quelle version de Flutter est utilisée, et est probablement le moyen le plus simple de pouvoir essayer facilement différentes versions de Flutter.
```sh
brew tap leoafarias/fvm
brew install fvm cocoapods
```
Installez et utilisez, par exemple Flutter `3.16.9`, avec :
```sh
fvm global 3.16.9
```
FVM est conçu pour utiliser une configuration plus complexe où il peut fournir différentes versions de Flutter pour différents projets, mais cela dépasse le cadre de ce guide. Au lieu de cela, ajoutez simplement manuellement l'emplacement du Flutter par défaut fourni par FVM à votre `PATH`, ce qui signifie que vous devez utiliser `fvm global` pour changer de version de Flutter :
```sh
export PATH=$HOME/fvm/default/bin:$PATH
```
Une fois cela fait, vous devriez désactiver la télémétrie et vérifier si tout va bien :
```sh
flutter --disable-analytics
dart --disable-analytics
flutter doctor -v
```
Peu importe si certaines vérifications échouent, elles le feront généralement, ce qui est important c'est que la vérification de l'environnement que vous avez l'intention d'utiliser est OK, à savoir `Xcode`. Si des problèmes sont signalés, résolvez-les avant de continuer.
Une fois que Flutter est opérationnel, il est temps d'installer le "pont" qui lie Rust et Flutter ensemble. Voici une autre des versions qui doivent fonctionner ensemble avec tout le reste, dans cet exemple nous utilisons `1.80.1` :
```sh
cargo install flutter_rust_bridge_codegen --version "1.80.1" --features "uuid"
```
## Compiler
Compilez depuis le dossier `rustdesk`. Compilez la version Sciter avec :
```sh
python3 ./build.py
```
Compilez la version Flutter avec :
```sh
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
python3 ./build.py --flutter
```
Si tout se passe bien, vous devriez maintenant avoir un fichier `dmg` prêt à installer dans votre dossier `rustdesk`.

View File

@@ -3,17 +3,120 @@ title: macOS
weight: 21
---
有多種方法可以做到這一點,本指南假設 `Xcode``Git``Homebrew` 已經安裝。
最大的挑戰可能是找到所有工具可以一起工作的版本,特別是因為工具鏈的某些部分(如 Xcode 和 LLVM由您的 macOS 版本決定。本指南中使用的版本可能不是您應該使用的版本。作為確定使用哪些版本的起點,可以查看您想要構建的 RustDesk 版本的 [GitHub 構建工作流程](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml)。在頁面左上角選擇標籤以查看文件。但這不一定會起作用,因為 GitHub runner 附帶的 macOS 工具可能與您本地系統上的版本不同。
### Export
`export` 用於設置各種環境變數。當您運行 `export` 時,該變數僅為當前終端會話設置,因此必須為您想要用於構建 RustDesk 的每個新終端窗口重複執行,無論是現在還是將來。通常,最好將所有 `export` 添加到為每個打開的終端自動執行的腳本中,例如 `~/.bash_profile`。這裡列出的完整 `export` 命令可以簡單地附加到文件中,但也必須在當前終端中運行,因為該文件要到打開*新*終端時才會被讀取。
## 從 Homebrew 安裝我們將要使用的工具
```sh
brew install python3 create-dmg nasm cmake gcc wget ninja pkg-config wget rustup
```
cd
某些安裝可能會失敗,因為我們系統上不存在某些目標文件夾。在這種情況下,創建文件夾、設置所有者和權限,然後再次運行 `brew` 命令。例如,如果 `/usr/local/include` 不存在:
```sh
sudo mkdir /usr/local/include
sudo chown <使用者名稱>:admin /usr/local/include
sudo chmod 775 /usr/local/include
```
## 安裝 vcpkg
Vcpkg 用於管理 RustDesk 使用的 C/C++ 依賴項。決定您想要安裝的位置,並從您希望 `vcpkg` 文件夾所在的文件夾運行以下命令。在此示例中,使用 `/Users/<使用者名稱>/repos/` 作為位置,並使用標籤 `2023.04.15` 作為版本。
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
./bootstrap-vcpkg.sh
brew install nasm yasm
./bootstrap-vcpkg.sh -disableMetrics
./vcpkg install libvpx libyuv opus aom
export VCPKG_ROOT=~/repos/vcpkg
```
## 安裝和配置 Rust
我們使用 `rustup` 來管理 Rust它已經使用 Homebrew 安裝了。但是,它仍然需要配置。按照說明操作,確保 `rustup``rustc` 都在 `PATH` 上。在此示例中,我們使用 Rust 版本 `1.75.0`,但您可能需要使用不同的版本。您可以使用 `rustup` 安裝和管理多個版本的 Rust。
```sh
rustup-init
rustup default 1.75.0
rustup component add rustfmt
```
要查看已安裝和默認的 Rust 工具鏈概覽,請運行 `rustup show`
## 下載 RustDesk 源文件
決定您想要 RustDesk 源文件的位置,並從您希望 `rustdesk` 文件夾所在的文件夾運行以下命令。在此示例中,使用 `/Users/<使用者名稱>/repos/` 作為位置。
```sh
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk
export VCPKG_ROOT=$HOME/vcpkg
cd rustdesk/libs/portable/
python3 -m pip install --upgrade pip
pip3 install -r requirements.txt
```
如果 `python3``pip` 未知,請使用類似以下內容將它們添加到 `PATH`(使用您的實際文件夾名稱):
```sh
export PATH=~/Library/Python/3.9/bin:$PATH
```
完成後,再次運行失敗的命令。記得也要編輯 `~/.bash_profile`
## 安裝用戶界面組件
RustDesk 可以使用 [Sciter](https://sciter.com/) 和 [Flutter](https://flutter.dev/) 構建。這兩者都需要額外的組件,因此請按照相關版本的步驟操作,或兩者都操作。
### Sciter
`rustdesk` 文件夾運行:
```sh
wget https://github.com/c-smile/sciter-sdk/raw/master/bin.osx/libsciter.dylib
cargo run
```
```
### Flutter
[FVM](https://fvm.app/) 讓您管理使用哪個版本的 Flutter這可能是能夠輕鬆嘗試不同 Flutter 版本的最簡單方法。
```sh
brew tap leoafarias/fvm
brew install fvm cocoapods
```
安裝並使用,例如 Flutter `3.16.9`
```sh
fvm global 3.16.9
```
FVM 旨在使用更複雜的設置,它可以為不同的項目提供不同的 Flutter 版本,但這超出了本指南的範圍。相反,只需手動將 FVM 提供的默認 Flutter 位置添加到您的 `PATH`,這意味著您必須使用 `fvm global` 來切換 Flutter 版本:
```sh
export PATH=$HOME/fvm/default/bin:$PATH
```
完成後,您應該禁用遙測並檢查一切是否正常:
```sh
flutter --disable-analytics
dart --disable-analytics
flutter doctor -v
```
如果某些檢查失敗並不重要,它們通常會失敗,重要的是您打算使用的環境檢查是否正常,即 `Xcode`。如果報告了問題,請在繼續之前解決它們。
一旦 Flutter 啟動並運行,就該安裝將 Rust 和 Flutter 綁定在一起的"橋接"了。這是另一個必須與其他所有組件一起工作的版本,在此示例中我們使用 `1.80.1`
```sh
cargo install flutter_rust_bridge_codegen --version "1.80.1" --features "uuid"
```
## 構建
`rustdesk` 文件夾構建。使用以下命令構建 Sciter 版本:
```sh
python3 ./build.py
```
使用以下命令構建 Flutter 版本:
```sh
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
python3 ./build.py --flutter
```
如果一切順利,您現在應該在 `rustdesk` 文件夾中有一個準備安裝的 `dmg` 文件。

View File

@@ -3,52 +3,56 @@ title: Windows
weight: 20
---
# Dependencias
{{% notice note %}}
Los comandos de línea de comandos aquí deben ejecutarse en Git Bash, no en el símbolo del sistema o obtendrá errores de sintaxis.
{{% /notice %}}
## Entorno de compilación C++
## Dependencias
Descargar [msvc](https://visualstudio.microsoft.com/) e instalar.
### Entorno de compilación C++
## Entorno de desarrollo Rust
Descargar [MSVC](https://visualstudio.microsoft.com/) e instalar.
Seleccione `Windows` como SO de máquina de desarrollador y marque `C++`, luego descargue la versión Visual Studio Community e instale. La instalación puede tardar un tiempo.
Descargar [rustup-init.exe](https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe) e instalar.
### Entorno de desarrollo Rust
## vcpkg
Descargue [rustup-init.exe](https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe) y ejecútelo como administrador para instalar `rust`.
Usar [git-bash](https://git-scm.com/download/win) para ejecutar los siguientes comandos download `vcpkg`, install `libvpx`, `libyuv`, `opus`.
### vcpkg
```shell
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
cd ..
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
Vaya a la carpeta donde desea clonar vcpkg y use [Git Bash](https://git-scm.com/download/win) para ejecutar los siguientes comandos, descargue `vcpkg`, instale la versión de 64 bits de `libvpx`, `libyuv` y `opus`.
Si no tiene `Git` instalado, obtenga `Git` [aquí](https://git-scm.com/download/win).
```sh
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
```
Agregar variable de entorno `VCPKG_ROOT`=`<path>\vcpkg`.
Agregar variable de entorno del sistema `VCPKG_ROOT`=`<path>\vcpkg`. El `<path>` debe ser la ubicación que eligió arriba para clonar `vcpkg`.
![](/docs/en/dev/build/windows/images/env.png)
## sciter
### Sciter
Uso de versiones de escritorio [sciter](https://sciter.com/) para GUI, descargue [sciter.dll](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll)
Las versiones de escritorio usan [Sciter](https://sciter.com/) para GUI, por favor descargue [sciter.dll](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll).
## llvm
### LLVM
rust-bindgen depende del clang, descargar [llvm](https://github.com/llvm/llvm-project/releases) e instalar, agregar variable de entorno `LIBCLANG_PATH`=`<llvm_install_dir>/bin`.
`rust-bindgen` depende de `clang`, descargue [LLVM](https://github.com/llvm/llvm-project/releases) e instale, agregue la variable de entorno del sistema `LIBCLANG_PATH`=`<llvm_install_dir>/bin`.
Puede descargar la versión 15.0.2 de los binarios de LLVM aquí: [64 bit](https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.2/LLVM-15.0.2-win64.exe) / [32 bit](https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.2/LLVM-15.0.2-win32.exe).
## Construir
# Construir
## Por defecto
### Por defecto
```sh
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
```

View File

@@ -3,50 +3,54 @@ title: Windows
weight: 20
---
# 依赖
{{% notice note %}}
这里的命令行命令必须在 Git Bash 中运行,而不是命令提示符,否则您将遇到语法错误。
{{% /notice %}}
## C++编译环境
## 依赖
推荐下载[msvc](https://visualstudio.microsoft.com/)并安装
### C++编译环境
## Rust 开发环境
下载[rustup-init.exe](https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe)并安装
下载 [MSVC](https://visualstudio.microsoft.com/) 并安装。
选择 `Windows` 作为开发人员机器操作系统并勾选 `C++`,然后下载 Visual Studio Community 版本并安装。安装可能需要一段时间。
## vcpkg
### Rust 开发环境
使用[git-bash](https://git-scm.com/download/win)运行下列命令, 下载`vcpkg`, 安装`libvpx`, `libyuv`, `opus`
下载 [rustup-init.exe](https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe) 并以管理员身份运行它来安装 `rust`
```shell
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
cd ..
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
转到您想要克隆 vcpkg 的文件夹,并使用 [Git Bash](https://git-scm.com/download/win) 运行以下命令,下载 `vcpkg`,安装 64 位版本的 `libvpx``libyuv``opus`
如果您没有安装 `Git`,请在[这里](https://git-scm.com/download/win)获取 `Git`
```sh
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`
添加系统环境变量 `VCPKG_ROOT`=`<path>\vcpkg``<path>` 应该是您在上面选择克隆 `vcpkg` 的位置。
![](/docs/en/dev/build/windows/images/env.png)
## Sciter
### Sciter
桌面版本使用[sciter](https://sciter.com/) , 下载动态库[sciter.dll](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll)
桌面版本使用 [Sciter](https://sciter.com/) 作为 GUI请下载 [sciter.dll](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll)
## llvm
### LLVM
rust-bindgen依赖于clang, 下载[llvm](https://github.com/llvm/llvm-project/releases)并安装, 添加环境变量`LIBCLANG_PATH`,值为`<llvm_install_dir>/bin`
`rust-bindgen` 依赖于 `clang`下载 [LLVM](https://github.com/llvm/llvm-project/releases) 并安装,添加系统环境变量 `LIBCLANG_PATH`=`<llvm_install_dir>/bin`
您可以在这里下载 LLVM 二进制文件的 15.0.2 版本:[64 位](https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.2/LLVM-15.0.2-win64.exe) / [32 位](https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.2/LLVM-15.0.2-win32.exe)。
# 构建
#### 默认
```sh
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
```