Vorwort Unter Linux ist zum Kompilieren und Verknüpfen die Verwendung eines Makefiles erforderlich. Allerdings ist das Schreiben eines guten Makefiles nicht einfach, und das Schreiben eines Standard-Makefiles ist sogar noch problematischer. Wir können autoconf verwenden, um ein Makefile zu generieren, was insbesondere bei großen Projekten viel Ärger ersparen kann. Hier werde ich anhand eines Projekts zeigen, wie es geht. Einige Schritte sind nicht erforderlich. Wenn Sie jedoch nicht erkennen können, welche Schritte nicht erforderlich sind, befolgen Sie sie am besten Schritt für Schritt, da einige Schritte ausgelassen werden und der Code entsprechend geändert werden muss (z. B. Ändern des Pfads usw.). Schritt Installieren Sie zuerst autoconf Einen neuen Projektordner erstellen (zum Beispiel: joy) Erstellen Sie darin zwei neue Ordner „lib“ und „src“, um die Bibliotheksdateien und Quelldateien des Projekts zu speichern. Wie in der folgenden Abbildung dargestellt: Rufen Sie den Lib-Ordner auf, erstellen Sie eine neue Header-Datei, z. B. haha.h, und deklarieren Sie nach dem Zufallsprinzip eine Funktion. //haha.h #include <stdio.h> ungültig printhaha(); Rufen Sie den Ordner „src“ auf und erstellen Sie eine neue C-Datei, z. B. haha.c, um die Funktionen der Header-Datei zu implementieren. Erstellen Sie eine neue C-Datei, z. B. main_code.c, um die Hauptfunktion zu schreiben. //haha.c #include "../lib/haha.h" void printhaha() { printf("haha\n"); } //Hauptcode.c #include "../lib/haha.h" void main() { druckenhaha(); } Zurück zum Joy-Ordner, unsere Projektdateien wurden geschrieben Führen Sie Autoscan aus, um configure.scan zu generieren configure.scan bearbeiten Die Datei sieht vor der Bearbeitung so aus #Bearbeiten Sie die Originaldatei vor# -*- Autoconf -*- # Verarbeiten Sie diese Datei mit autoconf, um ein Konfigurationsskript zu erstellen. AC_PREREQ([2,69]) AC_INIT([VOLLSTÄNDIGER PAKETNAME], [VERSION], [FEHLERBERICHT-ADRESSE]) AC_CONFIG_SRCDIR([src/haha.c]) AC_CONFIG_HEADERS([config.h]) # Sucht nach Programmen. AC_PROG_CC # Sucht nach Bibliotheken. # Überprüft, ob Header-Dateien vorhanden sind. # Überprüft Typdefinitionen, Strukturen und Compilereigenschaften. # Überprüft, ob Bibliotheksfunktionen vorhanden sind. AC_AUSGANG
#Geänderte Dateien# -*- Autoconf -*- # Verarbeiten Sie diese Datei mit autoconf, um ein Konfigurationsskript zu erstellen. AC_PREREQ([2,69]) AC_INIT(hhh, 1.0, [email protected]) AC_CONFIG_SRCDIR([src/haha.c]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE # Sucht nach Programmen. AC_PROG_CC # Sucht nach Bibliotheken. # Überprüft, ob Header-Dateien vorhanden sind. # Überprüft Typdefinitionen, Strukturen und Compilereigenschaften. # Überprüft, ob Bibliotheksfunktionen vorhanden sind. AC_OUTPUT (Makefile) Speichern Sie „configure.scan“ und benennen Sie es in „configure.ac“ um. Erstellen Sie ein neues Makefile.am Geben Sie den folgenden Code ein AUTOMAKE_OPTIONS= \ ausländisch \ Unterverzeichnisobjekte bin_PROGRAMS=test_prj test_prj_SOURCES= \ lib/haha.h \ src/haha.c \ src/main_code.c
Generieren Sie die Datei aclocal.m4 mit aclocal Konfigurationsdatei mit autoconf generieren Generieren Sie config.h.in mit Autoheader Um Makefile.in mit automake zu generieren, müssen Sie --add-missing hinzufügen, um automatisch die Standarddatei hinzuzufügen Dann ist unsere Software fertig und wir können das gesamte Paket auf GitHub oder ein Open-Source-Forum hochladen. Wie kompilieren und verknüpfen andere ausführbare Dateien, nachdem sie unser Quellcodepaket heruntergeladen haben? Oder wie kompilieren und verknüpfen wir unsere ausführbaren Dateien? Nachfolgend sind die allgemeinen Schritte zur Installation des Quellcodes aufgeführt, die auch die Schritte für unsere Kompilierung und Verknüpfung sind Generieren Sie zuerst das Makefile Dann machen Sie Jetzt können wir sehen, dass die ausführbare Datei test_prj generiert wurde Führen Sie es aus und die Ergebnisse sind wie folgt: Das Ergebnis ist korrekt. Beim Aufrufen des src-Verzeichnisses fanden wir zwei weitere Dateien Dies ist die Rolle von Unterverzeichnisobjekten in AUTOMAKE_OPTIONS. Ohne diesen Satz erscheinen die beiden .o-Dateien in Ihrem Stammverzeichnis. Wenn Ihr Projekt leider groß ist und Dateien mit demselben Namen vorhanden sind, kann dies schwerwiegende Folgen haben. Es wird daher empfohlen, diesen Satz hinzuzufügen. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: CocosCreator Universal Framework Design Network
>>: MySql fügt Daten erfolgreich ein, meldet aber [Err] 1055 Fehlerlösung
Fügen Sie in der Datei /etc/my.conf unter [mysqld...
In letzter Zeit haben mich viele Studenten zur Ko...
Als PHP7 herauskam, habe ich als Fan der neuesten...
Das mobile Vue-Terminal bestimmt die Richtung, in...
1. Frühere Versionen yum entfernen Docker Docker-...
Vom Kunsthandwerksdesign über Grafikdesign bis hin...
In diesem Artikelbeispiel wird der spezifische Co...
1. Kompatibilität Wie unten dargestellt: Die Komp...
1. Rufen Sie die offizielle Docker-Website auf Ge...
Erstellen Sie eine HTML-Seite mit einer ungeordnet...
Sehen Sie sich die Installationsinformationen von...
Inhaltsverzeichnis Stellen Sie httpd mit dem Quel...
Cursor Die von der Auswahlabfrage zurückgegebenen...
GUN-Bildschirm: Offizielle Website: http://www.gn...
Schritt 1: Bestätigen Sie die Architektur Ihres S...