ContribCliquez ici pour proposer des corrections ou des compléments pour cette page.
Plugin en C/C++ sous Windows

PhM a listé dans le forum X-Plane.fr les étapes principales pour installer un environnement de développement de plugin en C/C++ sous windows, reprises ici:

1 - Télécharger VS2010 C++ Express ici.

2 - Installer VS Express.

3 - Se créer un répertoire de développement (par exemple nommé Dev ou Projets, ou Plugins). Si possible pas sur le disque où est installé windows afin que les accès de windows et ceux de VS ne soient pas concurrents (ne se gênent pas l'un l'autre).

Ensuite tout dépend si le but est de bricoler un peu ou de développer plus sérieusement, partons du principe qu'il s'agit de développer plus sérieusement.

4 - Télécharger l'archive du SDK pour VS2010 ici.

5 - Dans le répertoire de développement, créer un répertoire HelloWorld et y dé-zipper l'&archive HelloWorld.

On s'aperçoit qu'il y a dans ce répertoire un autre répertoire nommé SDK.

Si l'on souhaite développer plusieurs plug-in il est clairement stupide de dupliquer ce répertoire dans chaque répertoire projet. Non seulement on perd de la place inutilement, mais pire on ouvre une porte en grand pour de futurs problèmes : lorsqu'il y aura une mise à jour du SDK il faudra changer le contenu de ce répertoire, et ce dans tous les projets. Vous pouvez bien dire "Pas de problème, j'y penserai.", l'expérience en programmation montre qu'il vaut mieux s'éviter des problèmes le plus tôt possible. Et de toutes façons vous en aurez des problèmes, pas de soucis de ce côté là.

6 - Sortir le répertoire SDK du répertoire Helloworld et le mettre dans le répertoire de développement.

7 - Lancer VS2010.

8 - Ouvrir le projet : File->Open->Project/Solution... puis aller le chercher HelloWorld.vcxproj dans le répertoire où il se trouve.

Comme nous avons déplacé le répertoire SDK il va falloir changer quelques chemins dans le projet.

9 - Dans la colonne de gauche (Solution Explorer) clic droit sur HelloWorld en dessous de Solution 'HelloWorld' puis Properties.

10 - A gauche dans la fenêtre Properties cliquer sur C/C++.

11 - A droite dans la ligne Additional Include Directories ajouter ..\ devant chacun des deux chemins commençant par SDK.

12 - Cliquer dans la partie blanche sous la ligne dernière ligne des propriétés, Apply devient actif, cliquer dessus.

12 - A gauche dans la fenêtre Properties cliquer sur Linker.

13 - A droite dans la ligne Additional Library Directories ajouter ..\ devant chacun des deux chemins commençant par SDK.

14 - Cliquer sur Ok pour fermer la fenêtre.

15 - Dans la colonne de gauche (Solution Explorer) clic droit sur HelloWorld en dessous de Solution 'HelloWorld' puis Build.

16 - VS demande à sauver un fichier solution (.sln), le sauver dans le répertoire HelloWorld, ensuite il compile et lie (link) le projet.

17 - Un fois tout terminé on obtient : ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== dans la fenêtre Output en bas.

Le plug-in HelloWorld.xpl se trouve dans HelloWorld\Debug.

Nous avons donc maintenant un plug-in en version debug. Cette version permet d'avoir beaucoup d'information dans le cas ou quelque chose ne marche pas, afin d'y remédier. Mais ce n'est pas la version que l'on souhaite utiliser une fois que tout marche correctement.

On relance donc notre VS et l'on ouvre la solution précédemment crée (HelloWorld.sln). On voit dans la barre d'outils sous les menus qu'il y a une petite fenêtre où est écrit Debug, juste à la droite d'une petite flèche verte. Et à la droite de Debug se trouve une petite flèche dirigée vers le bas. Cette flèche ouvre un menu déroulant qui nous montre l'autre version de compilation, à savoir Release.

Si l'on clique dessus rien ne semble avoir changé à part qu'il y a écrit Release au lieu de Debug, mais si l'on répète l'étape 15 ci-dessus on s'aperçoit que ça ne se passe pas bien, VS ne trouve pas un fichier. C'est parce que chaque version utilise un jeu de propriétés propre, ou sale si l'on a tout modifié et que l'on ne sait plus où on en est et que la crise de nerfs n'est pas loin. Il faut donc répéter les étapes 9 à 14 ci-dessus pour que cette version utilise notre nouveau chemin vers le répertoire SDK.

Un nouvel essai de build (étape 15) nous donne de nouveaux messages, en fait des avertissements nous disant qu'utiliser strcpy n'est pas sécuritaire, mais le build se passe bien et l'on a un plug-in HelloWorld.xpl dans HelloWorld\Release. Une comparaison rapide de la taille des deux versions de plug-in (Debug/Release) est assez édifiante.

C'est le minimum à savoir pour démarrer dans l'écriture de plug-in. Il reste à se plonger dans la doc, comprendre le sens des définitions suivantes : IBM, APL, LIN, XPLM200 et XPLM210 et leur utilisation est une des premières choses à faire.