macOS
Es gibt mehrere Möglichkeiten, dies zu tun. Diese Anleitung geht davon aus, dass Xcode, Git und Homebrew bereits installiert sind.
Die größte Herausforderung besteht wahrscheinlich darin, Versionen aller Tools zu finden, die zusammen funktionieren, zumal Teile der Toolchain wie Xcode und LLVM von Ihrer macOS-Version abhängig sind. Die in diesem Leitfaden verwendeten Versionen sind wahrscheinlich nicht die, die Sie verwenden sollten. Um herauszufinden, welche Versionen Sie verwenden sollten, können Sie im [GitHub-Build-Workflow] (https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) nach der RustDesk-Version suchen, die Sie bauen möchten. Wählen Sie den Tag aus, für den Sie die Datei oben links auf der Seite sehen möchten. Das wird aber nicht unbedingt funktionieren, weil die macOS-Tools, die mit dem GitHub-Runner geliefert werden, möglicherweise nicht die gleichen Versionen sind wie die auf Ihrem lokalen System.
Export
export wird verwendet, um verschiedene Umgebungsvariablen zu setzen. Wenn Sie export ausführen, wird diese Variable nur für die aktuelle Terminalsitzung gesetzt und muss daher für jedes neue Terminalfenster, das Sie jetzt oder in Zukunft zum Erstellen von RustDesk verwenden wollen, wiederholt werden. Im Allgemeinen ist es besser, alle export in ein Skript einzufügen, das automatisch für jedes geöffnete Terminal ausgeführt wird, zum Beispiel ~/.bash_profile. Die hier aufgelisteten vollständigen export-Befehle können einfach an die Datei angehängt werden, müssen aber auch im aktuellen Terminal ausgeführt werden, da die Datei erst gelesen wird, wenn ein neues Terminal geöffnet wird.
Tools installieren, die wir in Homebrew verwenden werden
brew install python3 create-dmg nasm cmake ggc wget ninja pkg-config wget rustupEinige der Installationen können fehlschlagen, weil einige der Zielordner auf unserem System nicht vorhanden sind. In diesem Fall erstellen Sie den Ordner, setzen Sie den Besitzer und die Rechte und führen Sie den Befehl brew erneut aus. Beispiel, wenn /usr/local/include nicht existiert:
sudo mkdir /usr/local/include
sudo chown <username>:admin /usr/local/include
sudo chmod 775 /usr/local/includevcpkg installieren
Vcpkg wird verwendet, um die C/C++-Abhängigkeiten zu verwalten, die von RustDesk verwendet werden. Entscheiden Sie, wo Sie die Installation durchführen möchten, und führen Sie den folgenden Befehl in dem Ordner aus, in dem sich der Ordner vcpkg befinden soll. In diesem Beispiel wird /Users/<Benutzername>/repos/ als Speicherort und das Tag 2023.04.15 als Version verwendet.
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
./bootstrap-vcpkg.sh -disableMetrics
./vcpkg install libvpx libyuv opus aom
export VCPKG_ROOT=~/repos/vcpkgRust installieren und konfigurieren
Wir verwenden rustup, um Rust zu verwalten, das bereits oben mit Homebrew installiert wurde. Es muss aber noch konfiguriert werden. Folgen Sie den Anweisungen und stellen Sie sicher, dass sich sowohl rustup als auch rustc im PATH befinden. In diesem Beispiel verwenden wir die Rust-Version 1.75.0, aber möglicherweise müssen Sie eine andere Version verwenden. Sie können mehrere Versionen von Rust mit rustup installieren und verwalten.
rustup-init
rustup default 1.75.0
rustup component add rustfmtFür einen Überblick über die installierten und standardmäßigen Rust-Toolchains führen Sie rustup show aus.
RustDesk-Quelldateien herunterladen
Entscheiden Sie, wo Sie die RustDesk-Quelldateien haben möchten, und führen Sie den folgenden Befehl in dem Ordner aus, in dem sich der Ordner rustdesk befinden soll. In diesem Beispiel wird /Users/<Benutzername>/repos/ als Speicherort verwendet.
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk/libs/portable/
python3 -m pip install --upgrade pip
pip3 install -r requirements.txtWenn python3 oder pip nicht bekannt sind, fügen Sie sie Ihren tatsächlichen Ordnernamen dem PATH hinzu:
export PATH=~/Library/Python/3.9/bin:$PATHSobald das erledigt ist, führen Sie die fehlgeschlagenen Befehle erneut aus. Denken Sie daran, auch ~/.bash_profile zu editieren.
Komponenten der Benutzeroberfläche installieren
RustDesk kann sowohl mit Sciter als auch mit Flutter erstellt werden. Beide benötigen zusätzliche Komponenten. Folgen Sie daher den Schritten für die jeweilige Version oder für beide.
Sciter
Führen Sie im Ordner rustdesk aus:
wget https://github.com/c-smile/sciter-sdk/raw/master/bin.osx/libsciter.dylibFlutter
FVM lässt Sie verwalten, welche Version von Flutter verwendet wird. Es ist wahrscheinlich der einfachste Weg, verschiedene Flutter-Versionen zu testen.
brew tap leoafarias/fvm
brew install fvm cocoapodsInstallieren und verwenden Sie z. B. Flutter 3.16.9 mit:
fvm global 3.16.9FVM ist für ein komplexeres Setup gedacht, bei dem es verschiedene Flutter-Versionen für verschiedene Projekte bereitstellen kann, aber das würde den Rahmen dieser Anleitung sprengen. Fügen Sie stattdessen einfach den Ort des von FVM bereitgestellten Standard-Flutters manuell zu Ihrem PATH hinzu. Das bedeutet, dass Sie fvm global verwenden müssen, um die Flutter-Version zu wechseln:
export PATH=$HOME/fvm/default/bin:$PATHSobald dies geschehen ist, sollten Sie die Telemetrie deaktivieren und prüfen, ob alles in Ordnung ist:
flutter --disable-analytics
dart --disable-analytics
flutter doctor -vEs spielt keine Rolle, ob einige der Prüfungen fehlschlagen, das tun sie in der Regel. Wichtig ist nur, dass die Prüfung für die Umgebung, die Sie verwenden möchten, in Ordnung ist, nämlich Xcode. Wenn Probleme gemeldet werden, beheben Sie diese, bevor Sie fortfahren.
Sobald Flutter läuft, ist es an der Zeit, die “Brücke” zu installieren, die Rust und Flutter verbindet. Hier ist eine andere Version, die mit allen anderen zusammenarbeitet. In diesem Beispiel verwenden wir 1.80.1:
cargo install flutter_rust_bridge_codegen --version "1.80.1" --features "uuid"Erstellen
Erstellen Sie im Ordner rustdesk die Sciter-Version mit:
python3 ./build.pyErstellen Sie die Flutter-Version mit:
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 --flutterWenn alles gut geht, sollten Sie jetzt eine Datei dmg haben, die Sie in Ihrem Ordner rustdesk installieren können.