Question

J'étudie quantitativement divers paramètres associés aux tests automatisés. Chrome semble avoir un ensemble raisonnable, je voulais donc l'ajouter à mon ensemble de données. J'ai téléchargé le code source de Chrome et essayé de le créer avec VisualStudio, mais plusieurs centaines d'erreurs ont été détectées: types non définis, identificateurs non définis, etc. Quelqu'un at-il déjà réussi à créer Chrome sous Windows? Y at-il des astuces que je dois savoir?

Était-ce utile?

La solution

À partir de la page dev Chrome:

Échecs de compilation

Quelques points communs à prendre en compte lorsque vous rencontrez des problèmes de compilation bizarres:

  • Assurez-vous que vous disposez du SP1 pour Visual Studio 2005. C'est obligatoire. Vraiment.
  • Parfois, Visual Studio se trompe lors de la construction de Chromium et reste bloqué sur une fausse erreur. Une bonne indication à cela est s'il échoue pour une seule personne mais que les autres (y compris les Buildbots) ne se plaignent pas. Pour résoudre ce problème, essayez les étapes suivantes:
    • Fermez Visual Studio.
    • Synchronisez avec la pointe de l’arbre et assurez-vous qu’il n’ya pas de conflits ("svn st" ne doit pas afficher de "C" devant les fichiers que vous avez modifiés).
    • S'il y avait des conflits, synchronisez à nouveau après les avoir résolus.
    • Supprimez manuellement le répertoire de sortie (chrome \ Debug et chrome \ Release. Vous pouvez utiliser la ligne de commande pour utiliser "erase / S / Q Release" du répertoire chrome ou "rm -rf Debug". Libérez-vous si des outils de type Unix sont installés.
    • Redémarrez Visual Studio et ouvrez la solution Chromium.
    • Reconstruisez la solution.

Si cela ne fonctionne toujours pas, répéter ce processus ne vous aidera probablement pas.

Problèmes liés au fichier temporaire chrome_kjs.sln

Si, lors de la construction de JavaScriptCore, des erreurs telles que:

s'affichent.
3>Error in tempfile() using /tmp/dftables-XXXXXXXX.in: Parent directory (/tmp/) is not writable
3> at /cygdrive/c/b/slave/WEBKIT~1/build/webkit/third_party/JavaScriptCore/pcre/dftables line 236
3>make: *** [chartables.c] Error 255

... c'est parce que l'installation de Cygwin incluse dans la source Chromium rencontre des difficultés pour mapper l'ACL NT sur les autorisations POSIX. Cela semble se produire lorsque Chromium est extrait dans un répertoire pour lequel Cygwin ne peut pas déterminer les autorisations, en premier lieu, éventuellement lorsque le répertoire est créé à partir d'un environnement Cygwin avant d'exécuter mkpasswd. Cygwin impose alors son propre contrôle d'accès, ce qui est incorrectement restrictif. Pour résoudre ce problème, effectuez l’une des opérations suivantes:

  • Modifiez les autorisations NT sur third_party \ cygwin \ tmp pour autoriser les actions de modification et d'écriture pour Tout le monde et machine \ Utilisateurs. Cygwin est capable de comprendre cela. Ou bien,

  • Déterminez ce qui ne va pas avec votre commande et essayez à nouveau. Essayez de vérifier avec cmd plutôt qu'avec un shell Cygwin, puis vérifiez que les autorisations ne sont pas complètement vides dans votre installation Cygwin. Ou bien,

  • Contournez le contrôle d'accès de Cygwin (les NT seront toujours en vigueur) en modifiant webkit \ build \ JavaScriptCore \ prebuild.bat et webkit \ build \ WebCore \ prebuild.bat afin d'inclure la ligne suivante avant d'appeler tout élément utilisant Cygwin. :

        set CYGWIN=nontsec
    

Une seule de ces solutions devrait être nécessaire.

Autres conseils

J'ai été capable de construire Chrome plusieurs fois. J'ai du matériel complet si vous voulez voir Création de Chrome dans Windows 7 avec Visual Studio.NET 2008

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top