Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Petua konfigurasi untuk binaan automatik pada sistem Linux menggunakan Autotools

Petua konfigurasi untuk binaan automatik pada sistem Linux menggunakan Autotools

WBOY
WBOYasal
2023-07-04 22:37:381472semak imbas

Petua konfigurasi untuk binaan automatik pada sistem Linux menggunakan Autotools

Apabila membangunkan dan mengurus projek perisian di Linux, binaan automatik ialah tugas yang sangat penting yang boleh memudahkan proses pembangunan dan mengurangkan ralat dengan sangat baik. Autotools ialah alat binaan automatik yang digunakan secara meluas yang menyediakan rantai alat untuk menjana Makefiles mudah alih. Artikel ini akan memperkenalkan cara menggunakan Autotools untuk mengkonfigurasi binaan automatik pada sistem Linux dan memberikan beberapa contoh kod praktikal.

1. Pasang Autotools

Memasang Autotools pada sistem Linux adalah sangat mudah, cuma jalankan arahan berikut:

$ sudo apt-get install autoconf automake libtool

2.Sebelum menggunakan Autotools untuk binaan automatik, anda perlu memahami struktur direktori terlebih dahulu. projek . Struktur direktori projek biasa biasanya mengandungi fail dan direktori berikut:

configure.ac: Ini ialah fail konfigurasi Autotools, yang menerangkan pilihan binaan dan pemasangan untuk projek.
  1. Makefile.am: Ini ialah templat Makefile yang dijana secara automatik yang digunakan untuk menentukan peraturan kompilasi dan kebergantungan.
  2. src: Ini ialah direktori kod sumber, digunakan untuk menyimpan fail kod sumber projek.
  3. sertakan: Ini ialah direktori fail pengepala, digunakan untuk menyimpan fail pengepala projek.
  4. lib: Ini ialah direktori fail perpustakaan, digunakan untuk menyimpan perpustakaan statik dan dinamik projek.
  5. 3 Tulis fail configure.ac

Buat fail bernama configure.ac dalam direktori akar projek. Ini ialah fail konfigurasi Autotools dan mengawal pilihan binaan projek. Berikut ialah contoh fail konfigurasi mudah:

AC_PREREQ([2.69])
AC_INIT([myproject], [1.0], [myemail@example.com])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_SRCDIR([src/myfile.c])
AC_CONFIG_HEADERS([config.h])
AC_PROG_CC
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

Dalam contoh di atas, AC_INIT menentukan nama, versi dan maklumat hubungan projek. AM_INIT_AUTOMAKE digunakan untuk memulakan Autotools dan menentukan beberapa pilihan kompilasi. AC_CONFIG_SRCDIR dan AC_CONFIG_HEADERS digunakan untuk menentukan lokasi fail kod sumber dan fail konfigurasi masing-masing. AC_PROG_CC menggunakan program instrumentasi untuk menentukan penyusun C yang tersedia pada sistem. AC_CONFIG_FILES menentukan Makefile untuk dijana.

4. Tulis fail Makefile.am

Buat fail bernama Makefile.am dalam direktori akar projek. Ini adalah templat Makefile yang dijana secara automatik. Berikut ialah contoh mudah:

AUTOMAKE_OPTIONS = foreign
SUBDIRS = src

Dalam contoh di atas, AUTOMAKE_OPTIONS digunakan untuk menentukan beberapa pilihan binaan automatik. SUBDIRS menentukan subdirektori yang akan dibina, berikut ialah direktori src.

5. Tulis fail Makefile.in

Dengan menjalankan arahan berikut, Autotools akan menjana fail Makefile.in berdasarkan fail configure.ac dan Makefile.am sebelumnya:

$ autoreconf -f -i

6 Dengan menjalankan arahan berikut, Autotools akan menghasilkan Makefile berdasarkan fail Makefile.in:

$ ./configure

7. Bina projek

Dengan menjalankan arahan berikut, Autotools akan membina projek berdasarkan fail Makefile:

$ make

8 . Pasang projek

Dengan menjalankan arahan berikut, Autotools akan Memasang projek mengikut Makefile:

$ make install

Arahan di atas akan menyalin fail boleh laku, fail perpustakaan dan fail pengepala projek ke direktori yang ditentukan.

9. Contoh Kod

Katakan kita mempunyai projek ringkas yang mengandungi fail boleh laku bernama myproject dan perpustakaan statik bernama mylib. Berikut ialah kod contoh fail Makefile.am:

AUTOMAKE_OPTIONS = foreign
SUBDIRS = src lib

bin_PROGRAMS = myproject
myproject_SOURCES = src/main.c
myproject_LDADD = lib/libmylib.a

noinst_LIBRARIES = libmylib.a
libmylib_a_SOURCES = lib/mylib.c

Dalam contoh di atas, kami menentukan fail boleh laku myproject dan terdapat fail sumber main.c dalam direktori src. Kami juga menentukan perpustakaan statik libmylib.a, dan terdapat fail sumber mylib.c dalam direktori lib.

Dalam proses menggunakan Autotools, fail konfigurasi dan Makefile boleh dilaraskan mengikut situasi sebenar untuk memenuhi keperluan projek.

Ringkasan:

Artikel ini memperkenalkan secara ringkas kemahiran konfigurasi cara menggunakan Autotools untuk mengautomasikan binaan pada sistem Linux, dan memberikan beberapa contoh kod praktikal. Dengan menggunakan Autotools, kami boleh menjana fail Makefile mudah alih dan memudahkan proses pembinaan dan pemasangan projek. Saya harap artikel ini akan membantu anda apabila membangunkan dan mengurus perisian di Linux!

Atas ialah kandungan terperinci Petua konfigurasi untuk binaan automatik pada sistem Linux menggunakan Autotools. 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