J'ai développé un programme C sur Mac OS X avec Xcode. Celui-ci se compose de trois fichiers:
main.c,
functions.h et
functions.c. J'aimerais passer sous linux et créer un Makefile afin de me simplifier la vie. Malheureusement je n'arrive pas à le faire compiler le projet, pourtant j'ai pas hésité à me documenter sur le sujet. A titre d'information, les deux fichiers
main.c et
functions.c incluent le fichier
functions.h. Ce dernier fichier commence comme suit:
1 2 3 4 5 6 7 8 9 10
|
#include<stdio.h>
#include<mysql.h>
#include<memory.h>
#include<string.h>
#include<stdarg.h>
#include<stdlib.h>
#include<time.h>
#include<sys/queue.h>
#include <libstree.h> |
Mon Makefile est le suivant:
1 2 3 4 5 6 7 8 9 10 11 12
|
CC := gcc
CFLAGS := -Wall -lz -lm
LFLAGS := -lmysqlclient -L/usr/local/lib/ -lstree
INCDIR := -I/usr/include/mysql/ -I/usr/local/include/
all:
$(CC) $(CFLAGS) $(IFLAGS) -c functions.c functions.h $(INCDIR)
$(CC) $(CFLAGS) $(IFLAGS) -o $@ main.c functions.h $(INCDIR)
clean:
rm -f total *.o |
A vrai dire je ne comprend pas ce qui cloche. Le message d'erreur renvoyé est le suivant
1 2 3 4 5 6 7
|
gcc: -lz: linker input file unused because linking not done
gcc: -lm: linker input file unused because linking not done
/tmp/ccEATgGt.o: In function `main':main.c:(.text+0x4f): undefined reference to `connect_db'
:main.c:(.text+0x65): undefined reference to `get_consult'
:main.c:(.text+0x7b): undefined reference to `mysql_query'
............. |
Qu'est ce qu'il ne vas pas dans mon makefile.
Partager