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
385 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!

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