Notice: MediaWiki has been updated. Report any rough edges to marcan@marcan.st

Getting Started Windows/fr

From OpenKinect
< Getting Started Windows
Revision as of 10:20, 11 February 2011 by BankP (talk | contribs) (Getting_Started_Windows/fr: Imagine you use windows AND you only speak French!! So here you go! It's a first draft. Tried at first Google translate - laughable in this context:))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Langue: English  • français

Compiler libfreenect à partir des sources

Introduction

Compiler à partir des sources ne demande aucune expertise particulière mais peut s'avérer ardu pour certains. Cette introduction servira à fournir une vue d'ensemble à ceux qui le désire afin de comprendre le processus. En résumé, il faudra télécharger le code source le plus récent et les dépendances nécessaires. Ces dernières seront requises à deux reprises. Premièrement il faudra copier les fichiers librairies .dll et les rendre accessibles à votre système. Deuxièmement, il faudra lier les fichiers .lib et les fichiers entêtes aux sources du projet en utilisant cmake-gui afin de configurer le tout ainsi que pour générer les "makefiles" requis pour compiler. Finalement, il faudra charger le projet dans votre environnement de développement (ex. Visual Studio 2010) pour le compiler ou entreprendre votre propre développement. De ce résumé vous devriez retenir que votre système nécessite certaines librairies pour pouvoir exécuter les demos du projet, tout comme le nécessitent à peu près tous les logiciels (et des librairies .dll sont utilisées). Et avant que ceci ne soit possible, le projet lui-même demande que lui soient liés les librairies et entêtes requises pour qu'il puisse être compilé adéquatement Notez que libfreenect, une fois compilé, est lui aussi une librairie .dll que votre système devra atteindre afin de pouvoir exécuter le demo glview.exe qui en dépend, par exemple. Tout ceci devrait s'éclaircir au fur et à mesure...

Il se peut que vous recherchiez une démonstration rapide de la richesse fonctionnelle du projet avant de le compiler. Dans ce cas vous devriez peut-être jeter un coup d'oeil à cette démonstration déjà compilée (les sources sont aussi disponibles) et qui utilise libfreenect et opencv.

Se procurer le code source

Il y a 2 façons de se procurer les sources les plus récentes:

  1. Aller sur le dépôt github du projet Openkinect, sélectionner la branche désirée (master ou unstable - voir plus bas pour des explications) et cliquer sur le bouton "Download" (ensuite extraire le tout dans un répertoire à portée) ou
  2. Utiliser Git pour créer et tenir à jour sur son système un répertoire permettant d'accéder à n'importe laquelle des branches disponibles et ce localement:

Utiliser Git

  • Télécharger et installer Git avec ces paramètres:
    • Accepter la licence etc.
    • Choisir le niveau d'intégration au "shell" désiré
    • Choisir "Run git from the Windows Command prompt"
    • Choisir "Check out WIndows style, commits Unix-style line endings"
  • Ouvrir une invite de commande, atteindre le répertoire où vous voulez créer le répertoire qui contiendra les sources (qui s'appellera /libfreenect) et taper:
$ git clone https://github.com/OpenKinect/libfreenect.git //télécharge le projet, créé local master
$ cd libfreenect                                            //cd vers la source
$ git branch --track unstable origin/unstable        //créé une branche local 'unstable' du dépôt distant
$ git checkout master                                //consulte la branche 'master' ou 'unstable'
$ ou
$ git checkout unstable
$ git pull                                           //mise à jour du contenu de la branche sélectionnée
  • Le contenu du répertoire libfreenect change interactivement lorsque vous consultez(checkout) une branche particulière (c'est magique!) ce qui vous évite d'avoir à chercher un répertoire particulier dans les répertoire source. Consultez simplement la branche que vous voulez configurer et utiliser le répertoire source dans le logiciel cmake par la suite. Cette approche permet de facilement passer d'une branche à l'autre et de garder à jour les sources localement pour ensuite configurer la branche que vous désirez compiler.
  • La commande "git branch" vous montrera les différentes branches (master et unstable dans notre cas) ainsi que laquelle est sélectionnée à ce moment. Vous pouvez aussi consulter les journaux du développement pour la branche choisie avec la commande "git log" (utiliser shift-Q pour sortir).

Master ou unstable?

Si vous pensez altérer libfreenect, développer des enveloppes(wrappers) ou tester les plus récents développements, vous devriez vous attarder à la branche 'unstable'. Elle contient les plus récentes mises à jour qui n'ont pas encore été entièrement testées. Autrement veuillez sélectionner la branche 'master'.

  • Veuillez prendre note que les branches 'master' et 'unstable' ont été synchronisées en date du 6 janvier 2011; voir ceci pour plus d'informations.

Après s'être procuré les sources, vous devriez télécharger les dépendances requises afin de configurer et compiler la libfreenect et installer les pilotes...

Dépendances

Pour chacune des dépendances, télécharger et installer les fichiers librairies (.dll) sur votre système et identifier les chemins menant aux fichiers librairies (.lib ou .a) et entêtes (.h) dont vous aurez besoin plus tard afin de configurer les sources avec le logiciel cmake-gui:

Dépendance Installation Librairie/includes à utiliser (voir saisie d'écran)
libusb-win32 - télécharger et extraire le plus récent libusb-win32-bin-x.x.x.x.zip Ceci sera accompli lors de l'installation du pilote dans la prochaine section Les répertoires /lib et /include contiennent les fichiers librairies et entêtes requis; selon le compilateur choisi, vous aurez à sélectionner une librairie spécifique:
  • Pour configurer le projet pour MS Visual Studio 2010, choisir /lib/msvc/libusb.lib ou si vous prévoyez utiliser mingw, utiliser /lib/gcc/libusb.a comme chemin vers la librairie libusb dans cmake (LIBUSB_1_LIBRARY)
  • Selectionner le chemin pour atteindre le répertoire contenant les fichiers entêtes libusb, c'est à dire le répertoire /include de libusb dans cmake (LIBUSB_1_INCLUDE_DIR)

Pour plus d'informations voir le 'readme' de libusb-win32 et leur wiki

pthreads-win32 - télécharger et extraire le plus récent pthreads-w32-x-x-x-release.exe Trouver le répertoire /lib et copier la librairie .dll appropriée vers /windows ou /windows/system32 (voir Libraries/includes à droite pour déterminer laquelle utiliser) Les répertoires /lib et /include contiennent les fichiers librairies et entêtes requis; selon le compilateur choisi, vous aurez à sélectionner une librairie spécifique:
  • Pour configurer le projet pour MS Visual Studio 2010, choisir /lib/pthreadVC2.lib ou si vous prévoyez utiliser mingw, utiliser /lib/pthreadGC2.a comme chemin vers la librairie pthread dans cmake (THREADS_PTHREADS_WIN32_LIBRARY)
  • Dans les deux cas vous devez installer le fichier .dll correspondant dans /windows/system32 i.e. phtreadVC2.dll ou pthreadGC2.dll
  • Selectionner le chemin pour atteindre le répertoire contenant les fichiers entêtes pthread, c'est-à-dire le répertoire /include de pthread dans cmake (THREADS_PTHREADS_INCLUDE_DIR)

Pour plus d'informations voir le 'readme' de pthreads-win32 et leur FAQ

Glut - télécharger et extraire le plus récent glut-x.x.x-bin.zip Trouver le fichier librairie glut32.dll et le copier vers /windows/system ou tout autre répertoire inclus dans la variable d'environnement PATH (voir cette explication)
  • Avec MSVC, vous devriez copier l'entête glut.h vers le répertoire /include/GL et la librairie glut32.lib vers le répertoire /lib de votre arborescence VC(par exemple /Program Files/Microsoft Visual Studio 10.0/VC/) - si le répertoire GL n'existe pas, veuillez le créer et y mettre le fichier glut.h. Si vous avez compilé glut à partir des sources, les fichiers devraient déjà être là.
  • Dans cmake-gui, fournir le chemin vers le fichier entête jusqu'au sous-répetoire /include (ET NON PAS ../include/GL) ainsi que le chemin jusqu'à la librairie elle-même (../lib/glut32.lib) (GLUT_INCLUDE_DIR et GLUT_glut_LIBRARY respectivement)

Pour plus d'informations voir le 'readme' de glut.

Installation du pilote de périphérique

Il y a deux composantes à libfreenect -- le pilote de bas-niveau basé sur libusb et libfreenect en soi, la librairie qui parle avec le pilote. Le pilote n'est installé qu'une seule fois.

Windows 7: étape par étape (devrait aussi fonctionner sous Windows XP!)

  • Brancher le Kinest. Windows avertira qu'aucun pilote de périphérique n'a été trouvé (la LED du Kinect ne s'allumera pas). Si l'OS présente une boîte de dialogue demandant de rechercher un pilote, faire "annuler".
  • Ouvrir le Gestionnaire de périphériques: Démarrer >> Panneau de configuration >> Système et Sécurité >> Système >> Gestionnaire de périphériques.
  • Un périphérique identifié comme "Xbox NUI Motor" devrait s'y trouver quelque part (fort probablement sous "Other devices") avec un petit point d'exclamation au dessus. Faire un clic de droite sur le périphérique et sélectionner "Update Driver Software...", et cliquer ensuite sur "Browse my computer for driver software".
  • "Parcourir" et sélectionner le répertoire où se trouve le fichier "XBox_NUI_Motor.inf" (/platform/windows/inf à l'intérieur de votre répertoire source libfreenect). Cliquer "Suivant" et si Windows se plaint de fait que le pilote à installer ne soit pas certifié, simplement demander qu'il soit installé de toutes façons.
  • Après cela, la lumière LED du Kinect devrait être verte et clignoter. Maintenant se trouveront ajoutés au Gestionnaire deux nouveaux périphériques: "Xbox NUI Camera" et "Xbox NUI Audio". Répéter les instructions ci-haut pour ces deux éléments.

Vous êtes maintenant prêt à configurer libfreenect avant de le compiler...

Configuration avec cmake-gui

Voici les étapes requises pour configurer libfreenect avant de compiler:

  1. Télécharger Cmake (Cross-Platform Make) et s'assurer de disposer d'un compilateur C (Visual Studio 2010 ou MinGW)
  2. Lancer Cmake-GUI et sélectionner votre répertoire /libfreenect comme source, selectionner un répertoire de sortie, cocher "advanced" et "grouped" afin d'afficher plus d'éléments et qu'ils soient catégorisés puis cliquer sur le bouton "Configure"
  3. Sélectionner le compilateur C que vous souhaitez utiliser
  4. Sélectionner les options BUILD que vous désirez en prenant en considération ceci:
    1. À ce stade, ne sélectionner que les options EXAMPLES et C_SYNC. Les autres options de BUILD tel FAKENECT n'ont pas encore été adaptées pour Visual Studio
    2. Veuillez consulter ces notes si vous êtes intéressé à compiler l'enveloppe PYTHON
  5. Les dépendances non résolues apparaîtront en rouge dans CMake GUI. Fournir les chemins manquants vers les dépendances tel qu'indiqué plus haut, et cliquer à nouveau sur le bouton "Configure":
    1. Les variables de type *_LIBRARY doivent pointer vers le fichier .lib lui-même et non pas vers un répertoire
    2. Les variables de type INCLUDE doivent pointer vers les répertoires /include appropriés
  6. Lorsque toutes les erreurs ont été solutionnées, cliquer sur le bouton "Generate" afin de générer les 'makefiles' pour votre compilateur.
  • Voir cette saisie d'écran d'un exemple de configuration de cmake pour MS Visual Studio 2010: 1

Compiler

Maintenant que le projet est configuré, charger le fichier libfreenect.sln à partir de votre répertoire de sortie avec Visual Studio. Faire "Build" puis lorsque le compilateur a terminé, rechercher vos fichiers compilés dans les répertoires /bin et /lib

  • Les librairies freenect dans /lib sont compilées mais pas installées à ce stade. Pour les utiliser vous pouvez:
    • Ajouter le chemin menant au répertoire /lib à votre variable d'environnement PATH ou
    • Copier les librairies dans un répertoire qui fait déjà l'objet d'une entrée dans PATH comme /windows/system32 par exemple ou
    • Copier les librairies dans le répertoire du programme que vous voulez exéctuer

Si vous éprouvez des difficultés à compiler, voir ce 'readme' dans le répertoire /libfreenect/platform/windows pour de plus amples informations.

Essai

Pour faire un essai rapide, lancer /bin/glview.exe