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 :
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
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)
ces fonctions sont pourtant définies dans pcms_api.h!
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
d'ou vient le problème?
merci d'avance
Partager