Développement plugins

From Stellarium Wiki
(Difference between revisions)
Jump to: navigation, search
(Linux)
(Ecrire des Plugins)
 
Line 33: Line 33:
 
*Le code source du plugin existant dans la subversion,  [http://stellarium.svn.sourceforge.net/viewvc/stellarium/trunk/extmodules/ parcourir par ici]
 
*Le code source du plugin existant dans la subversion,  [http://stellarium.svn.sourceforge.net/viewvc/stellarium/trunk/extmodules/ parcourir par ici]
 
*La liste de diffusion stellarium pubdevel - s'il vous plaît à honoraires libres pour vous abonner et poser des questions là
 
*La liste de diffusion stellarium pubdevel - s'il vous plaît à honoraires libres pour vous abonner et poser des questions là
 +
 +
==  Erreur d'enchaînement dynamique sous Windows==
 +
Si un plugin utilise une classe qui hérite d'une classe qui contient le Stellarium Q OBJET macro (par exemple, une fenêtre de dialogue qui hérite StelDialog), Stellarium refusera de le charger sur Windows, retournant un accès non valide à l'erreur d'emplacement mémoire La solution est de copier la classe parente (par exemple, StelDialog) aux sources du plugin et renommez-le de manière appropriée.
 +
 +
Des conseils sur la manière de résoudre cette question par une autre voie serait très appréciée.
 +
  
 
[[Category:Plugins]]
 
[[Category:Plugins]]
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 20:24, 14 October 2009

Contents

[edit] Construire et installer

[edit] Linux

  • Générez le code du noyau Stellarium selon la page Compilation on Linux. Assurez-vous que l'accumulation de sous-répertoire sont nommés builds/unix.
  • Définissez la variable d'environnement STELROOT pour le chemin de l'arbre stellarium source, par exemple:
export STELROOT=/home/bob/stellarium
  • Changement de l'endroit où vous avez le code source de plugin installé, assurez-un sous-répertoire builds/Unix et le changement dans ce.
cd /home/bob/stel-plugins/PluginName
mkdir -p builds/unix
cd builds/unix
  • Run cmake, en précisant le type de build pour être le même que celui qui a été utilisé pour construire le code du noyau (Debug ou Release). Ensuite, lancez make
cmake -DCMAKE_BUILD_TYPE=Debug ../..
make
  • Pour l'installer, tapez simplement:
make install

Cela mettra les fichiers pour le plugin dans ~/.stellarium/modules/PluginName

[edit] Windows

  • Générez le code du noyau Stellarium selon la page Windows Build Instructions. Assurez-vous que l'accumulation de sous-répertoire est appelé builds/msys.
  • Définissez la variable d'environnement STELROOT pour être le chemin de l'arbre stellarium source, par exemple:
export STELROOT=/c/msys/1.0/home/bob/stellarium
  • Changer l'endroit où vous avez le code source de plugin installé, assurez-un sous-répertoire builds/msys et le changement dans.
cd /c/msys/1.0/home/bob/stel-plugins
mkdir -p builds/msys
cd builds/msys
  • Run cmake, en précisant le type de build d'être la même que celle qui a été utilisé pour construire le code du noyau (Debug ou Release). Ensuite, lancez make
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug ../..
make
  • Plusieurs des plugins ont un fichier nommé installer.iss dans le répertoire principal. Ceci peut être utilisé avec le générateur d'installation INNO pour générer un installeur windows pour le plugin.

[edit] Ecrire des Plugins

Si vous êtes un développeur, et j'aimerais avoir un aller à la rédaction de votre propre plugin Stellarium, les ressources suivantes pourraient être utiles:

[edit] Erreur d'enchaînement dynamique sous Windows

Si un plugin utilise une classe qui hérite d'une classe qui contient le Stellarium Q OBJET macro (par exemple, une fenêtre de dialogue qui hérite StelDialog), Stellarium refusera de le charger sur Windows, retournant un accès non valide à l'erreur d'emplacement mémoire La solution est de copier la classe parente (par exemple, StelDialog) aux sources du plugin et renommez-le de manière appropriée.

Des conseils sur la manière de résoudre cette question par une autre voie serait très appréciée.

Personal tools
Namespaces
Variants
Actions
in this wiki
other languages
Toolbox