Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Compiler trigger en C sous Windows



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



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group