PostgreSQL - SPI - C++

Signaler
Messages postés
40
Date d'inscription
mercredi 10 mai 2006
Statut
Membre
Dernière intervention
5 juin 2008
-
Messages postés
40
Date d'inscription
mercredi 10 mai 2006
Statut
Membre
Dernière intervention
5 juin 2008
-
Bonjour,

je voudrais écrire des procédures stockées en c++ mais je rencontre des
pb dans l'inclusion de : executor/executor.h et de executor/spi.h


voici mon makefile pour générer mon .so :

///////////////***///////////////////////////////////

CC=g++

LD=ld

LDFLAGS= -G -z text


CFLAGS=-fpcc-struct-return -fPIC -O -I/data/pgsql/include

CPPFLAGS += -DINSERTONLY -I/data/pgsql/include/server


proc.so: pr.o

rm -f pr.so

$(LD) $(LDFLAGS) -shared -o pr.so pr.o


clean:

rm -f *.o *.so *~

////////////////***///////////////////////////////////


et voila ce qu'il m'affiche comme erreur :


/////////////////////////////////////////////////////////*****/////////////////////////////////////////////////////

In file included from /data/pgsql/include/server/nodes/parsenodes.h:17,

from /data/pgsql/include/server/executor/execdesc.h:18,

from /data/pgsql/include/server/executor/executor.h:17,

from pr.cpp:2:

/data/pgsql/include/server/nodes/primnodes.h:809: erreur: expected unqualified-id avant « using »

/data/pgsql/include/server/nodes/primnodes.h:809: erreur: déclaration abstrait « List* » utilisé dans la déclaration

/data/pgsql/include/server/nodes/primnodes.h:809: erreur: expected `;' avant « using »

In file included from /data/pgsql/include/server/executor/execdesc.h:18,

from /data/pgsql/include/server/executor/executor.h:17,

from pr.cpp:2:

/data/pgsql/include/server/nodes/parsenodes.h:130: erreur: expected unqualified-id avant « typeid »

/data/pgsql/include/server/nodes/parsenodes.h:196: erreur: expected unqualified-id avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:196: erreur: déclaration abstrait « TypeName* » utilisé dans la déclaration

/data/pgsql/include/server/nodes/parsenodes.h:196: erreur: expected `;' avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:212: erreur: expected unqualified-id avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:212: erreur: déclaration abstrait « TypeName* » utilisé dans la déclaration

/data/pgsql/include/server/nodes/parsenodes.h:212: erreur: expected `;' avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:341: erreur: expected unqualified-id avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:341: erreur: déclaration abstrait « TypeName* » utilisé dans la déclaration

/data/pgsql/include/server/nodes/parsenodes.h:341: erreur: expected `;' avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:777: erreur: expected unqualified-id avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:777: erreur: déclaration abstrait « List* » utilisé dans la déclaration

/data/pgsql/include/server/nodes/parsenodes.h:777: erreur: expected `;' avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:1126: erreur: expected unqualified-id avant « typename »

/data/pgsql/include/server/nodes/parsenodes.h:1126: erreur: déclaration abstrait « TypeName* » utilisé dans la déclaration

/data/pgsql/include/server/nodes/parsenodes.h:1126: erreur: expected `;' avant « typename »

In file included from /data/pgsql/include/server/utils/portal.h:50,

from /data/pgsql/include/server/tcop/pquery.h:17,

from /data/pgsql/include/server/executor/spi.h:28,

from pr.cpp:4:

/data/pgsql/include/server/nodes/memnodes.h:44: erreur: expected unqualified-id avant « delete »

/data/pgsql/include/server/nodes/memnodes.h:44: erreur: expected `)' avant « delete »

In file included from /data/pgsql/include/server/executor/spi.h:33,

from pr.cpp:4:

/data/pgsql/include/server/utils/builtins.h:469: erreur: expected `,' or `...' avant « namespace »

make: *** [pr.o] Erreur 1

make: La cible « proc.so » n'a pas pu être refabriquée à cause d'erreurs.

/////////////////////////////////////////////////////////////////////////////////**********/////////////////////////////////////////////////


Merci de votre aide


<!--hr /-->

2 réponses

Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
T'as tout simplement du oublier un include ou un using namespace dans une de tes sources

TuRn3r
Messages postés
40
Date d'inscription
mercredi 10 mai 2006
Statut
Membre
Dernière intervention
5 juin 2008
1
les headers que j'utilise sont des biblio (elles se trouvent : /data/pgsql/include/server). si je dois utilisé un namespace lequel ?
et quand je compile en c ça marche....