Bonjour,
J'ai suivi quelques tutos sur les makefile et j'en suis arrivé jusque là :
Code :
- #
- # Variables:
- #
- CC = gcc
- BIN = pTar
- SRC = main.c
- OBJ = main.o
- #
- # Flags d'erreurs:
- #
- ERROR_CFLAGS = -Wall -W -pedantic
- #
- # Flags pour le compilateur:
- #
- GLIB_CFLAGS = $$(pkg-config --cflags glib-2.0)
- PANGO_CFLAGS = $$(pkg-config --cflags pango)
- GTK_CFLAGS = $$(pkg-config --cflags gtk+-2.0)
- CFLAGS = $(ERROR_FLAGS) $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(GTK_CFLAGS)
- #
- # Flags pour l'editeur de liens:
- #
- GLIB_LDFLAGS = $$(pkg-config --libs glib-2.0)
- PANGO_LDFLAGS = $$(pkg-config --libs pango)
- GTK_LDFLAGS = $$(pkg-config --libs gtk+-2.0)
- LDFLAGS = $(ERROR_FLAGS) $(GLIB_LDFLAGS) $(PANGO_LDFLAGS) $(GTK_LDFLAGS)
- #
- # Construction du programme:
- #
- all: $(BIN)
- $(BIN): $(SRC)
- $(CC) $(CFLAGS) -c $(SRC)
- $(CC) $(LDFLAGS) -o $(BIN) $(OBJ)
- #
- # Nettoyage:
- #
- clean:
- rm -f *.o *~ core $(BIN)
|
Je me retrouve avec le code d'erreur suivant :
Citation :
main.o: In function `main':
main.c .text+0x67): undefined reference to `g_main'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [pTar] Erreur 1
|
Mon projet est de la forme suivante :
[racine] un tas de *.c et *.h (visiblement pris en compte par mon makefile)
[./Graphique] un g_main.c et g_main.h appelés pour l'exécution du programme en graphique (utilisant GTK 2).
C'est visiblement ces derniers, situés dans un sous dossier qui posent problème !
Pourtant je pensais avoir bien généré automatiquement la liste des fichiers à compiler ...
Sachant que le projet compile très bien sous Code::Blocks il s'agit d'une erreur de makefile ...
Si des "pros" du makefile pouvaient m'aider, ça m’avancerait bien !
Merci
---------------
Yippee-Kay-Yay ! - Coucou, tu veux voir mes bytes ?