CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [HELP Makefile] makefile .d et .o

DébutPage précedente
1
Page suivantePage suivante
JmeDefonceLeNez JmeDefonceLeNez
MP
Niveau 3
04 octobre 2015 à 15:50:37

Bonjours tout le monde, j'ai un projet à réaliser en C (sur du traitement d'image). On nous à donné une archive contenant un main et un makefile et quelque .c mais le problème c'est que je galére a comprendre le makefile (je n'ai plus fait de C depuis belle lurette)...

De ce que j'ai compris on génère des mini makefile (.d) dans un sous dossier /obj.
Le problème que j'ai c'est que quand je compile, je prends cette erreur :

gcc -Wall -pedantic -std=c99 -o obj/utils.o -c utils.c
gcc: error: CreateProcess: No such file or directory
Makefile:28: recipe for target 'obj/utils.o' failed
mingw32-make: *** [obj/utils.o] Error 1

Forcement, les .o sont créée nulle part il me semble... Ma question est donc : qu’écrire dans le makefile pour créer ces .o au bon endroits?

Voici le code du makefile : .PHONY:all tests CC=gcc CFLAGS=-Wall -pedantic -std=c99 # tous les fichier sources sources=$(wildcard *.c) # le nom des fichier .o OBJ=$(sources:.c=.o) DIR_OBJ=obj/ #le nom des fichiers .o avec le chemin en preffix OBJS=$(addprefix $(DIR_OBJ), $(OBJ)) TARGET=imagefilter all: $(TARGET) clean: @rm -f $(OBJS) *~ $(TARGETS) $(addprefix $(DIR_OBJ), $(sources:.c=.d)) # compile $(DIR_OBJ)%.o: %.c $(CC) $(CFLAGS) -o $@ -c $< $(DIR_OBJ)%.d: %.c echo “make $@“ @set -e; rm -f $@; \ $(CC) -M $(CFLAGS) $< > $@.$$$$; \ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$ echo: echo $(sources) $(TARGET): $(OBJS) $(CC) $(CFLAGS) $^ -o $@ -lm tests: $(TARGET) ./test_script.sh all include $(addprefix $(DIR_OBJ), $(sources:.c=.d))

et une photo du répertoire ainsi que du code sous sublime:

https://www.noelshack.com/2015-40-1443966043-sans-titre.png

https://www.noelshack.com/2015-40-1443966353-sans-titre.png

En espérant que vous puissiez m'indiquer comment résoudre mon problème merci :)

JmeDefonceLeNez JmeDefonceLeNez
MP
Niveau 3
04 octobre 2015 à 16:35:40

J'ai peut etre juste un problème de compilation sous windows finalement... Je vais réinstaller linux et je vous tiens au courant (nouveau PC et pas de connexion internet...)

godrik godrik
MP
Niveau 22
04 octobre 2015 à 17:24:37

mmm, je n'ai jamais vu de .d faire partie de la chaine de compilation C. Tiens nous au courant :)

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment