Bonjour à tous

j'ai l'arborescence suivante :

-pcms_api
--pcms_api.h
--pcms-event.h
--premium
---events
----autorisationBrancheProduit
-----user_supplied.c
-----makefile

et dans $(ORACLE_HOME)/rdbms/public je dois utiliser le fichier oci.h
et dans $(ORACLE_HOME)/lib je dois utiliser la librairie libclntsh.so

j'ai donc le makefile suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
CC=gcc
CFLAGS=-W -Wall -ansi -pedantic
EXEC=user_supplied
INCS= -I$../../../../pcms_api -I$(ORACLE_HOME)/rdbms/public
LDFLAGS=-L$(ORACLE_HOME)/lib -lclntsh 
 
 
all: $(EXEC)
 
user_supplied: user_supplied.o
	$(CC) -o $(EXEC) user_supplied.o $(INCS) $(LDFLAGS)  
 
user_supplied.o: user_supplied.c
	$(CC) $(INCS) $(CFLAGS) -o user_supplied.o -c user_supplied.c
 
clean:
	rm -rf *.o
 
cleanall: clean
	rm -rf $(EXEC)
et l'erreur est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 
gcc -o user_supplied user_supplied.o -I./../../../pcms_api -I/u01/app/oracle/product/db10.2.0/rdbms/public -L/u01/app/oracle/product/db10.2.0/lib -lclntsh
user_supplied.o(.text+0xfa): In function `userSuppliedFunction':
: undefined reference to `PcmsXmvaGetVal'
user_supplied.o(.text+0x16f): In function `userSuppliedFunction':
: undefined reference to `PcmsXmvaGetVal'
user_supplied.o(.text+0x197): In function `userSuppliedFunction':
: undefined reference to `PcmsXmvaGetVal'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [user_supplied] Erreur 1
ces fonctions sont pourtant définies dans pcms_api.h!

d'ou vient le problème?

merci d'avance