Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mencipta Makefile C Mudah untuk Projek Fail Tunggal?

Bagaimana untuk Mencipta Makefile C Mudah untuk Projek Fail Tunggal?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 03:48:101021semak imbas

How to Create a Simple C   Makefile for a Single-File Project?

Cara Membuat Makefile SIMPLE C

Masalah:
Kita perlu mencipta Makefile untuk mengurus projek C kami, tetapi kami belum diajar cara melakukannya. Projek ini terdiri daripada satu fail, a3driver.cpp, yang mengimport kelas daripada /user/cse232/Examples/example32.sequence.cpp.

Penyelesaian:

1. Makefile Asas:

a3a.exe: a3driver.cpp example32.sequence.cpp
    g++ -g -o a3a.exe a3driver.cpp example32.sequence.cpp

Makefile ini menyatakan bahawa a3a.exe boleh laku bergantung pada fail sumber a3driver.cpp dan example32.sequence.cpp. Apabila dilaksanakan, ia akan melaksanakan arahan untuk menyusun atur cara ke dalam fail boleh laku.

2. Menggunakan Peraturan Terbina dalam:

CC=g++
CPPFLAGS=-g

a3a.exe: a3driver.o example32.sequence.o
    $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o

a3driver.o: a3driver.cpp
    $(CC) $(CPPFLAGS) -c a3driver.cpp

example32.sequence.o: example32.sequence.cpp
    $(CC) $(CPPFLAGS) -c example32.sequence.cpp

Fail Make ini menggunakan peraturan terbina dalam untuk memudahkan arahan kompilasi. Ia mentakrifkan pembolehubah CC sebagai pengkompil C, dan pembolehubah CPPFLAGS dengan bendera kompilasi biasa. Kebergantungan masih ditakrifkan secara eksplisit, tetapi arahan kompilasi dijana secara automatik.

3. Menggunakan Ketergantungan Dijana Auto:

CC=g++
CPPFLAGS=-g

a3a.exe: a3driver.o example32.sequence.o
    $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o

depend: .depend

.depend: $(SRCS)
    $(CC) $(CPPFLAGS) -MM $^ > .depend;

.PHONY: clean

clean:
    rm -f a3driver.o example32.sequence.o .depend

include .depend

Fail Make ini menggunakan bendera -MM terbina dalam untuk menjana kebergantungan secara automatik. Sasaran bergantung melaksanakan perintah yang menjana fail .bergantung dengan kebergantungan. Sasaran .PHONY: bersih ialah sasaran khas yang sebenarnya bukan fail atau peraturan. Sasaran bersih mengalih keluar fail objek dan fail .depend.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Makefile C Mudah untuk Projek Fail Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn