makefile, : undefined reference to
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:
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:
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