Maison >développement back-end >C++ >Comment créer un Makefile C simple pour la compilation et la liaison ?

Comment créer un Makefile C simple pour la compilation et la liaison ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-24 14:05:10833parcourir

How to Create a Simple C   Makefile for Compilation and Linking?

Comment créer un Makefile C SIMPLE

Introduction

La création d'un Makefile est nécessaire pour compiler et exécuter un projet C. Cet article fournit une introduction à Make et un guide étape par étape sur la création d'un Makefile simple.

Comprendre Make

Make est un gestionnaire de dépendances de build qui orchestre l'ordre dans lequel les commandes doivent être exécuté pour compiler et lier vos fichiers source C dans un exécutable.

Configuration du Makefile

Pour cet exemple, nous supposons que vous avoir un seul fichier C nommé a3driver.cpp et une classe importée dans /user/cse232/Examples/example32.sequence.cpp.

Blocs de construction d'un Makefile

Variables : Les variables Make vous permettent de stocker des informations telles que les indicateurs du compilateur et les bibliothèques. Exemple :

CPPFLAGS=-g -pthread -I/sw/include/root

Lignes cibles et de dépendance : Les lignes cibles spécifient la sortie à générer, tandis que les lignes de dépendance répertorient les fichiers requis pour créer la cible. Exemple :

tool: tool.o support.o
    g++ $(LDFLAGS) -o tool tool.o support.o $(LDLIBS)

tool.o: tool.cc support.hh
    g++ $(CPPFLAGS) -c tool.cc

Exemple de Makefile

Vous trouverez ci-dessous un Makefile simple pour vos besoins spécifiques :

CPPFLAGS=-g
LDFLAGS=-g
LDLIBS=-L/usr/lib/-llua5.2
SRCS=a3driver.cpp /user/cse232/Examples/example32.sequence.cpp
OBJS=$(SRCS:.cpp=.o)

all: a3driver

a3driver: $(OBJS)
    $(CXX) $(LDFLAGS) -o a3driver $(OBJS) $(LDLIBS)

.PHONY: clean
clean:
    rm -f $(OBJS) a3driver

Explication

  • CPPFLAGS et LDFLAGS définit les indicateurs de compilation et de liaison nécessaires.
  • SRCS définit la source fichiers, et OBJS génère les fichiers objets correspondants.
  • all est la cible par défaut et a3driver est l'exécutable.
  • La cible propre supprime les fichiers objets et l'exécutable.

Conclusion

Cet exemple de Makefile devrait vous permettre de compiler et d'exécuter votre projet C en utilisant la classe externe spécifiée. N'oubliez pas que les Makefiles sont personnalisables, alors n'hésitez pas à les développer et à les modifier en fonction de vos besoins.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn