Comment créer un Makefile SIMPLE C
Création d'un Makefile pour un projet Simple C
Problème :
- Besoin de créer un Makefile pour compiler un projet composé d'un fichier C unique (a3driver.cpp) qui importe une classe depuis un autre emplacement ("/user/cse232/Examples/example32.sequence.cpp").
Réponse :
Création du Makefile :
- Créez un fichier Makefile.
-
Spécifiez les variables :
- CC : compilateur C (par exemple, gcc)
- CXX : C compilateur (par exemple, g )
- RM : commande pour supprimer des fichiers (par exemple, rm -f)
- CPPFLAGS : indicateurs de compilation (par exemple, -g pour le débogage)
- LDFLAGS : indicateurs de l'éditeur de liens (par exemple, -g pour débogage)
- LDLIBS : Bibliothèques à lier (vides dans ce cas)
-
Définir les fichiers source et objets :
- SRCS : Liste des fichiers sources C
- OBJS : Liste des fichiers objets correspondants (généré par substitution)
-
Définir les cibles :
- toutes : cible principale, par défaut, créer l'exécutable
- outil : Exécutable nom
-
Spécifier les dépendances :
- Spécifier les dépendances pour les fichiers exécutables et objets (pas nécessaire car nous utiliserons règles intégrées)
-
Utiliser Règles intégrées :
- Makefile gère automatiquement les tâches de compilation et de liaison en fonction de variables définies et de dépendances cibles
-
Nettoyage Cibles :
- clean : supprime l'objet files
- distclean : supprime tous les fichiers générés
Exemple de Makefile :
CC=gcc
CXX=g++
RM=rm -f
CPPFLAGS=-g
LDFLAGS=-g
LDLIBS=
SRCS=a3driver.cpp
OBJS=$(subst .cpp,.o,$(SRCS))
all: tool
tool: $(OBJS)
$(CXX) $(LDFLAGS) -o tool $(OBJS) $(LDLIBS)
clean:
$(RM) $(OBJS)
distclean: clean
$(RM) tool
Copier après la connexion
En cours d'exécution le Makefile :
- Ouvrez le terminal ou la commande
- Naviguez jusqu'au répertoire où se trouve le Makefile.
- Tapez "make" pour construire le projet.
- Cela créera le fichier exécutable "tool" si le la construction est réussie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!