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
Lepaskan: 2024-12-08 03:48:10
asal
977 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan