From: | Synthèse Graphique <contact(at)synthesegraphique(dot)com> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Compiler trigger en C sous Windows |
Date: | 2006-02-10 08:36:54 |
Message-ID: | 68e84e72dd1716a2e54255191f82fb5f@synthesegraphique.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Bonjour,
Je m'appuie sur la documentation PostGreSQL 8.1.2, chapitre 33.4 "Un
exemple complet" (de trigger écrit en C).
En suivant l'exemple, j'ai créé un fichier, ici XXX.c qui contient le
code fourni fourni en exemple
et qui début par :
#include "postgres.h"
#include "executor/spi.h" /* nécessaire pour fonctionner avec
SPI */
#include "commands/trigger.h" /* ... et les déclencheurs */
J'ai installé l'environnement MinGW et MSYS.
Dans une fenêtre MSYS, j'ai lancé la commande :
$ gcc -I/E/Program\ Files/PostgreSQL/8.1/include/server/ -I/E/Program\
Files/PostgreSQL/8.1/include/server/port/win32/ -c XXX.c
j'obtiens un fichier
XXX.o
Puis, je lance la commande
$ gcc -shared -o pstypes.dll -WI,-dy,--library-path,/E/Program\
Files/PostgreSQL/8.1/lib/,-l,libpq.a,--out-implib,pstypes.a XXX.o
et j'obtiens les erreurs suivantes :
XXX.o:XXX.c:(.text+0x4e): undefined reference to `elog_start'
XXX.o:XXX.c:(.text+0x62): undefined reference to `elog_finish'
XXX.o:XXX.c:(.text+0xd1): undefined reference to `SPI_connect'
XXX.o:XXX.c:(.text+0xf6): undefined reference to `elog_start'
XXX.o:XXX.c:(.text+0x118): undefined reference to `elog_finish'
XXX.o:XXX.c:(.text+0x12c): undefined reference to `SPI_exec'
XXX.o:XXX.c:(.text+0x151): undefined reference to `elog_start'
XXX.o:XXX.c:(.text+0x173): undefined reference to `elog_finish'
XXX.o:XXX.c:(.text+0x187): undefined reference to `_imp__SPI_tuptable'
XXX.o:XXX.c:(.text+0x195): undefined reference to `_imp__SPI_tuptable'
XXX.o:XXX.c:(.text+0x1a4): undefined reference to `SPI_getbinval'
XXX.o:XXX.c:(.text+0x1c5): undefined reference to `elog_start'
XXX.o:XXX.c:(.text+0x1e7): undefined reference to `elog_finish'
XXX.o:XXX.c:(.text+0x1ec): undefined reference to `SPI_finish'
XXX.o:XXX.c:(.text+0x213): undefined reference to `SPI_getbinval'
collect2: ld returned 1 exit status
Je me suis inspiré du thread suivant, sans succès !
http://archives.postgresql.org/pgsql-admin/2005-12/msg00237.php
Pouvez-vous m'aider à comprendre ce qui ne va pas ?
Olivier Peaucelle
From | Date | Subject | |
---|---|---|---|
Next Message | Jean-Max Reymond | 2006-02-10 10:04:42 | Re: Compiler trigger en C sous Windows |
Previous Message | dforums | 2006-02-05 16:24:04 | Re: récupérer le type |