Compilation de QtScrcpy sous Windows : Guide complet pour développeurs

Guide de compilation du projet QtScrcpy sur Windows

QtScrcpy est une application open source permettant de projeter et contrôler un appareil Android via USB ou réseau TCP/IP, sans nécessiter d'accès root. Ce guide détaillé explique comment compiler le projet localement sous Windows, en couvrant les prérequis, les étapes de construction, les configurations CMake et les solutions aux problèmes courants.

Prérequis système

  • Système d’exploitation : Windows 10 ou 11 (64 bits)
  • Compilateur : Microsoft Visual Studio 2019 ou ultérieur (MSVC v142 ou supérieur)
  • Qt : Version 5.12.5 minimum, version MSVC 2019 64 bits recommandée
  • Outils : CMake 3.19+, Git, et éventuellement Qt Creator

Configuration des variables d’environnement

Pour faciliter l’intégration des outils, définissez les variables suivantes selon votre installation :

set QT_ROOT=D:\Qt\Qt5.12.5\5.12.5
set VS_VARS="C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat"

Ces chemins seront utilisés par les scripts de compilation pour localiser Qt et initialiser l’environnement MSVC.

Récupération du code source

Clonez le dépôt avec ses sous-modules Git :

git clone https://gitcode.com/barry-ran/QtScrcpy.git
cd QtScrcpy
git submodule update --init --recursive

Les sous-modules incluent des bibliothèques tierces essentielles comme libadb et des utilitaires multimédias.

Méthodes de compilation

Option 1 : Script automatisé (recommandé)

Le projet fournit un script batch dans le dossier ci/win :

cd ci\win
build_for_win.bat Release x64

Arguments supportés :

  • Mode : Release, Debug, RelWithDebInfo, MinSizeRel
  • Architecture : x86 ou x64

Option 2 : Compilation manuelle avec CMake

Créez un répertoire de build et configurez CMake :

mkdir build && cd build

cmake .. ^
    -DCMAKE_PREFIX_PATH="%QT_ROOT%\msvc2019_64\lib\cmake" ^
    -DCMAKE_BUILD_TYPE=Release ^
    -G "Visual Studio 16 2019" ^
    -A x64

Lancez la compilation :

cmake --build . --config Release -j%NUMBER_OF_PROCESSORS%

Option 3 : Utilisation de Qt Creator

  1. Ouvrez CMakeLists.txt depuis Qt Creator
  2. Sélectionnez un Kit compatible MSVC 2019 64 bits
  3. Définissez le type de build (ex: Release)
  4. Cliquez sur "Configure", puis "Build"

Configuration CMake avancée

Le fichier CMakeLists.txt inclut plusieurs directives critiques :

cmake_minimum_required(VERSION 3.19)

# Dépendances Qt
find_package(Qt5 REQUIRED COMPONENTS Widgets Network Multimedia)

# Optimisations Windows
if(WIN32)
    add_compile_definitions(NOMINMAX WIN32_LEAN_AND_MEAN)
    add_compile_options(/utf-8 /W4 /EHsc)
    add_link_options(/SAFESEH:NO)
endif()

Structure de sortie après compilation

Une fois terminée, la compilation génère :

output/
└── x64/
    └── Release/
        ├── QtScrcpy.exe
        ├── config.ini
        ├── sndcpy.bat
        ├── sndcpy.apk
        └── dlls (Qt5Core.dll, etc.)

Problèmes fréquents et correctifs

Erreur : Qt non trouvé

Assurez-vous que CMAKE_PREFIX_PATH pointe vers le bon répertoire Qt (contenant Qt5Config.cmake).

Erreur MSVC incompatibilité

Utilisez toujours une version cohérente entre Qt et MSVC. Par exemple, Qt compilé avec MSVC2019 ne fonctionne pas avec MSVC2017.

Échec des sous-modules

Exécutez à nouveau :

git submodule sync --recursive
git submodule update --init --recursive

Problèmes d’encodage

Ajoutez cette directive dans CMake pour forcer l’UTF-8 :

target_compile_options(your_target PRIVATE /utf-8)

Comparaison des modes de build

Mode Optimisation Informations debug Taille binaire Usage typique
Release /O2 Aucune Faible Distribution
Debug Aucune Symboles complets Élevée Développement
RelWithDebInfo /O2 Symboles Moyenne Analyse de performence

Optimisations de compilation

  • Compilation parallèle : Utilisez -j8 ou -j%NUMBER_OF_PROCESSORS%
  • Build incrémental : Réduit considérablement le temps lors des modifications mineures
  • En-têtes précompilés : À activer dans CMake si disponible

Validation du résultat

Après compilation :

  1. Vérifiez l’existence de QtScrcpy.exe
  2. Utilisez Dependency Walker ou dumpbin /dependents pour valider les DLL requises
  3. Testez la connexion à un appareil Android via USB

Personnalisation des scripts

Exemple de script batch personnalisé :

@echo off
set BUILD_DIR=%~dp0..\build
set CONFIG=%1
set ARCH=%2

if not exist "%BUILD_DIR%" mkdir "%BUILD_DIR%"
pushd "%BUILD_DIR%"

cmake -S .. -B . -G "Visual Studio 16 2019" -A %ARCH% -DCMAKE_BUILD_TYPE=%CONFIG%
if errorlevel 1 exit /b 1

cmake --build . --config %CONFIG% -j8
popd

Conclusion

La compilation de QtScrcpy sous Windows repose sur une configuration précise de Qt, MSVC et CMake. En suivant ce guide, vous pouvez produire une version exécutable locale, adaptable à vos besoins (personnnalisation d’interface, intégration de fonctionnalités). Le recours aux scripts fournis simplifie grandement le processus, mais la maîtrise de CMake permet une flexibilité maximale.

Étiquettes: Qt CMake MSVC Windows Android

Publié le 3 septembre à 05h46