Aller au contenu principal

Instructions pour compiler Electron (Windows)

Suivez les instructions ci-dessous pour compiler Electron lui-même, afin d'obtenir une version personnalisée d'Electron. Pour regrouper et distribuer le code de votre application avec les binaires précompilés d'Electron, reportez-vous au guide de la distribution d'applications.

Prérequis

  • Windows 10 / Server 2012 R2 ou supérieur
  • Visual Studio 2019 (>=16.0.0) pour compiler, mais préférez Visual Studio 2022 (>=17. . 0) - Téléchargez gratuitement VS 2022 Community Edition
    • Voir la documentation de construction de Chromium pour plus de détails sur les composants de Visual Studio.
    • Si votre Visual Studio est installé dans un autre répertoire que celui par défaut, vous aurez besoin de définir quelques variables d'environnement pour pointer les chaînes de compilation vers votre chemin d'installation.
      • vs2022_install = DRIVE:\path\to\Microsoft Visual Studio\2022\Community, remplaçant 2022 et Communauté par vos versions installées et remplaçant DRIVE: par le lecteur sur lequel Visual Studio est allumé. Souvent, ce sera C:.
      • WINDOWSSDKDIR = DRIVE:\path\to\Windows Kits\10, où il faudra remplacer DRIVE: par le lecteur sur lequel les kits Windows sont présents. Souvent, ce sera C:.
  • Node.js
  • Git
  • Les outils de débogage pour Windows du SDK Windows 10.0.15063.468 si vous prévoyez de créer une distribution complète puisque symstore.exe est utilisé pour créer un magasin de symbole à partir des fichiers .pdb.
    • Différentes versions du SDK peuvent être installées côte à côte. Pour installer le SDK, ouvrez Visual Studio Installer, sélectionnez ModifyComposants individuels, faites défiler vers le bas et sélectionnez le SDK Windows approprié à installer. Une autre option serait de regarder la Windows SDK et l'archive émulateur et de télécharger la version autonome du SDK respectivement.
    • Les outils de débogage SDK doivent également être installés. Si le SDK Windows 10 a été installé via l'installateur Visual Studio, alors ils peuvent être installés en allant à: Panneau de configurationProgrammesProgrammes et fonctionnalités → Sélectionnez le "Kit de développement du logiciel Windows" → ChangementChangement → Vérifiez "Outils de débogage pour Windows" → Changement. Ou, vous pouvez télécharger l'installateur SDK autonome et l'utiliser pour installer les outils de débogage.

Si vous ne disposez pas d’une installation Windows, developer.microsoft.com propose des versions de Windows qui vous permettent de compiler Electron.

La compilation d'Electron se fait entièrement avec des scripts en ligne de commande et ne peut se faire avec Visual Studio. Vous pouvez développer Electron avec n’importe quel éditeur, mais le support de la compilation avec Visual Studio viendra dans le futur.

Remarque : Même si Visual Studio n’est pas utilisé pour la compilation, il est toujours nécessaire car nous avons besoin du build toolchains qu'il fournit.

Exclure l'arborescence des sources de Windows Security

Windows Security s'oppose à l'un des fichiers du code source Chromium ( voir https://crbug.com/441184 ), donc il va constamment le supprimer, causant des problèmes dans gclient sync. Vous pouvez exclure l'arborescence source de la surveillance par Windows Security en suivant ces instructions.

Compilation

Voir les Instructions de compilation : GN

Compilation 32bit

Pour construire pour la cible 32 bits, vous devez passer target_cpu = "x86" en tant qu'arg. GN. Vous pouvez construire la cible 32 bits à côté de la cible 64 bits en utilisant un répertoire de sortie différent pour GN, par exemple out/Release-x86, avec des arguments différents.

$ gn gen out/Release-x86 --args="import(\"//electron/build/args/release.gn\") target_cpu=\"x86\""

Les autres étapes pour la compilation sont exactement les mêmes.

Projet Visual Studio

Pour générer un projet Visual Studio, vous pouvez passer le paramètre --ide=vs2017 à gn gen:

$ gn gen out/Testing --ide=vs2017

Résolution de problème

xxxx commande introuvable

Si vous avez rencontré une erreur comme commande xxxx introuvable, vous pouvez essayez la console de ligne de commande VS2015 pour exécuter les scripts de compilation.

Fatal internal compiler error: C1001

Assurez-vous d'avoir la dernière mise à jour de Visual Studio installé.

LNK1181: cannot open input file 'kernel32.lib'

Essayez de réinstaller Node.js 32bit.

Error: ENOENT, stat 'C:\Users\USERNAME\AppData\Roaming\npm'

La création du répertoire suivant devrait corriger le problème :

$ mkdir ~\AppData\Roaming\npm

node-gyp is not recognized as an internal or external command

Cette erreur peut se produire si vous utilisez Git Bash pour la compilation, vous devez utiliser PowerShell ou l'invite de commande de VS2015 à la place.

ne peut pas créer le répertoire à '...': nom de fichier trop long

node.js a quelques noms de chemin extrêmement longs, et par défaut git sur windows ne gère pas correctement les chemins longs (même si Windows les supporte). Cela devrait être réparé :

$ git config --system core.longpaths true

error: use of undeclared identifier 'DefaultDelegateCheckMode'

Cela peut se produire durant la compilation, lorsque les outils de débogage pour Windows ont été installés avec le kit de pilotes Windows. Désinstallez le kit de pilotes Windows et installez les outils de débogage en suivant les étapes décrites ci-dessus.

Construire des scripts pendent jusqu'à ce que le bouton soit appuyé

Ce bug est une « fonctionnalité » de l'invite de commande de Windows. Cela se produit lorsque vous cliquez dans la fenêtre d'invite avec l'option Édition rapide et est destiné à permettre la sélection et la copie du texte de sortie facilement. Puisque chaque clic accidentel met en pause le processus de construction, vous pouvez désactiver cette fonctionnalité dans les propriétés de l'invite de commande.