2. Quick Start
Je pense que le mieux est de démarrer depuis le composant sdl, qui est très petit.
Donc, supposons que vous vouliez écrire le composant gb.xyz. Ce composant:
* Ne dépend d'aucun autre composant.
* Nécessite la librairie libxyz.so et le fichier include xyz.h .
* Requiert le multi-threading.
La variable $ROOT est le répertoire ou vous décompressez le paquet sources GAMBAS.
-
Faites une copie du répertoire $ROOT / src / lib / sdl (avec con contenu) et nommez le gb.xyz .
-
Supprimez les fichier sources , mais conservez main.c et main.h . Vous écrirez vos propres
main.c et
main.h en les modifiant.
-
Editez le fichier $ROOT / src / lib / xyz / Makefile.am , et remplissez le selon les besoins, comme expliqué ici.
Vous devriez avoir quelque chose comme ceci:
INCLUDES = -I$(top_srcdir)/ src / share @XYZ_INC@
EXTRA_DIST = *.component
pkglib_LTLIBRARIES = lib.gb.xyz.la
lib_gb_xyz_la_LIBADD = @XYZ_LIB@
lib_gb_xyz_la_LDFLAGS = @LD_FLAGS@
lib_gb_xyz_la_SOURCES = main.h main.c myFirstClass.h myFirstClass.c mySecondClass.h mySecondClass.c ...
install-exec-local:
@cp -f *.component $(DESTDIR)$(pkglibdir)
-
Renommez le fichier $ROOT / src / lib / xyz / lib .gb.sdl.component en lib.gb.xyz.component et editez le.
faites attention, ce fichier doit être encodé en UTF8.
[Component]
Key=gb.xyz
Name=The xyz component
Author=Vous
Alpha=1
-
Editez le fichier $ROOT / src / lib / Makefile.am (situé un répertoire plus haut) et changez la première ligne pour ajouter une référence au nouveau sous-répertoire créé.
SUBDIRS = debug eval db compress @QT_DIR@ @NET_DIR@ @SDL_DIR@ @VB_DIR@ @XYZ_DIR@
-
Editez le fichier $ROOT / configure.in et ajoutez la chose suivante :
...
GB_COMPONENT(
xyz,
XYZ,
[XYZ component],
[GB_FIND(xyz.h, / usr / local / usr , include xyz*/ include include / xyz*)],
[GB_FIND(libxyz.$SHLIBEXT, / usr / local / usr, lib xyz*/ lib lib / xyz*)],
[$C_LIB $THREAD_LIB -lxyz],
[$THREAD_INC])
...
-
A la fin du fichier $ROOT / configure.in , changez la macro AC_OUTPUT :
...
dnl ---- Create makefiles
AC_OUTPUT( Makefile src / Makefile src / share / Makefile src / comp / Makefile src / exec / Makefile src / lib / Makefile ...
src /lib / compress / Makefile src / lib / compress / zlib / Makefile src / lib / compress / bzlib2 / Makefile src / lib / xyz / Makefile )
-
Ouvrez un terminal, allez dans le répertoire racine du paquetage, et tappez :
$ ./ reconf
$ ./ configure
...
$ make
...
Tout doit se compiler... si vous n'avez pas fait de faute, bien sur :-)
-
Pour tester le composant, vous devez créér trois liens symboliques depuis le répertoire
./ src / lib / xyz vers le répertoire d'installation de Gambas. Sous le compte root, bien sur :
$ su
...
# ln -s / usr / lib / gambas / lib.gb.xyz.component $ROOT / src / lib / xyz / lib.gb.xyz.component
# ln -s / usr / lib / gambas / lib.gb.xyz.so $ROOT / src / lib / xyz /.libs / lib.gb.xyz.so
# ln -s / usr / lib / gambas / lib.gb.xyz.la $ROOT / src / lib / xyz / lib.gb.xyz.la
-
. Maintenant vous devez créér les fichiers description du composant en utilisant la commande gbi.
Vous devez faire ceci chaque fois que vous modifiez l'interface de votre composant.
C'est tout. Vous devez avoir un nouveau composant maintenant :-)
Le fichier main
La connexion interpréteur
Ecriture des classes
Méthodes spéciales
Le fichier description des composants