Cara membuat Makefile SIMPLE C
Mencipta Makefile untuk Projek C Simple
Masalah:
- Perlu mencipta Makefile untuk menyusun projek terdiri daripada satu fail C (a3driver.cpp) yang mengimport kelas dari lokasi lain ("/user/cse232/Examples/example32.sequence.cpp").
Jawapan:
Mencipta Makefile:
- Buat fail Makefile.
-
Nyatakan Pembolehubah:
- Pengkompil CC: C (mis., gcc)
- CXX: Pengkompil C (mis., g )
- RM: Perintah untuk mengalih keluar fail (mis., rm -f)
- CPPFLAGS: Bendera kompilasi (mis., - g untuk nyahpepijat)
- LDFLAGS: Bendera pemaut (cth., -g untuk nyahpepijat)
- LDLIBS: Perpustakaan untuk dipautkan (kosong dalam kes ini)
-
Tentukan Sumber dan Fail Objek:
- SRCS: Senarai fail sumber C
- OBJS: Senarai daripada fail objek yang sepadan (dijana menggunakan penggantian)
-
Tentukan Sasaran:
- semua: Sasaran utama, lalai kepada membina the executable
- tool: Boleh laksana name
-
Nyatakan Ketergantungan:
- Tentukan kebergantungan untuk fail boleh laku dan objek (tidak diperlukan kerana kami akan gunakan terbina dalam peraturan)
-
Gunakan Peraturan Terbina dalam:
- Makefile secara automatik mengendalikan tugas penyusunan dan pemautan berdasarkan pembolehubah yang ditentukan dan sasaran dependencies
-
Sasaran Pembersihan:
- bersih: Mengalih keluar fail objek
- distclean: Mengalih keluar semua yang dijana fail
Contoh Makefile:
CC=gcc
CXX=g++
RM=rm -f
CPPFLAGS=-g
LDFLAGS=-g
LDLIBS=
SRCS=a3driver.cpp
OBJS=$(subst .cpp,.o,$(SRCS))
all: tool
tool: $(OBJS)
$(CXX) $(LDFLAGS) -o tool $(OBJS) $(LDLIBS)
clean:
$(RM) $(OBJS)
distclean: clean
$(RM) tool
Menjalankan Makefile:
- Buka terminal atau command prompt.
- Navigasi ke direktori di mana Makefile terletak.
- Taip "make" untuk membina projek.
- Ini akan mencipta "alat" fail boleh laku jika binaan berjaya.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Fail Make C Mudah untuk Projek Fail Sumber 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