Compiler trigger en C sous Windows

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

Responses

Browse pgsql-fr-generale by date

  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