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

Bagaimana untuk Mencipta Makefile C Mudah untuk Projek Fail Tunggal dengan Ketergantungan Luaran?

Susan Sarandon
Lepaskan: 2024-12-10 05:44:16
asal
496 orang telah melayarinya

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

Cara Membuat Makefile SIMPLE C

Panduan ini menyediakan pendekatan mudah untuk mencipta Makefile untuk projek C dengan kebergantungan yang minimum.

Masalah:

Anda perlu mencipta Makefile untuk projek dengan satu fail, a3driver.cpp, yang mengimport kelas daripada "/user/cse232/Examples/example32.sequence.cpp". Matlamatnya ialah untuk menjana boleh laku bernama a3a.exe.

Penyelesaian:

1. Cipta Makefile:

Buat fail bernama Makefile dalam direktori projek.

2. Tentukan Pembolehubah:

Mulakan dengan mentakrifkan pembolehubah yang akan digunakan sepanjang Makefile:

CC = g++
CFLAGS = -g
LDFLAGS = -g
LDLIBS = -lstdc++ -lm
Salin selepas log masuk
  • CC: Pengkompil C.
  • CFLAGS: Bendera kompilasi untuk sumber C fail.
  • LDFLAGS: Memautkan bendera.
  • LDLIBS: Perpustakaan diperlukan untuk memaut.

3. Nyatakan Sasaran:

Seterusnya, tentukan sasaran untuk projek:

all: a3a.exe
a3a.exe: a3driver.o example32.sequence.o
a3driver.o: a3driver.cpp
example32.sequence.o: example32.sequence.cpp
Salin selepas log masuk
  • semuanya ialah sasaran lalai yang akan membina boleh laku.
  • a3a .exe ialah sasaran boleh laku.

4. Tentukan Kebergantungan:

Tentukan kebergantungan untuk setiap sasaran:

  • a3a.exe bergantung pada a3driver.o dan example32.sequence.o.
  • a3driver .o bergantung kepada a3driver.cpp.
  • example32.sequence.o bergantung pada example32.sequence.cpp.

5. Tentukan Peraturan:

Nyatakan arahan yang akan dilaksanakan untuk setiap sasaran dan kebergantungannya:

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

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

a3a.exe: a3driver.o example32.sequence.o
    $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o $(LDLIBS)
Salin selepas log masuk
  • Peraturan ini menyusun fail sumber dan memautkannya untuk mencipta boleh laku.

6. Tentukan Sasaran Bersih (Pilihan):

Anda juga boleh menentukan sasaran bersih untuk mengalih keluar semua artifak binaan:

clean:
    rm -f a3driver.o example32.sequence.o a3a.exe
Salin selepas log masuk

7. Jalankan Makefile:

Untuk membina projek, jalankan make dari baris arahan. Ini akan mewujudkan a3a.exe boleh laku.

Nota:

Memandangkan sistem berasaskan Unix tidak menggunakan sambungan fail untuk boleh laku, sasaran a3a.exe tidak mempunyai sambungan dalam Makefile.

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

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