Detaillierte Erklärung der Funktionen von -I (großes i), -L (großes l) und -l (kleines l) beim Kompilieren von Programmen mit g++ unter Linux

Detaillierte Erklärung der Funktionen von -I (großes i), -L (großes l) und -l (kleines l) beim Kompilieren von Programmen mit g++ unter Linux

Als Linux-Einsteiger habe ich schon oft einfache gcc/g++ Operationen verwendet, für etwas komplexere Programme kommen aber manchmal Bibliotheken zum Einsatz. Wenn ich auf ein Problem stieß, suchte ich viele von meinen Vorgängern zusammengefasste Informationen heraus und hinterließ ein Skript in der Hoffnung, dass es meinen Freunden hilfreich sein würde. Ich würde mich sehr freuen, wenn ich auch dein Problem lösen könnte, hehe.
Beispiel: libz.so

g++ -o komprimieren compress.cpp -I/home/include/ -L/lib/ -lz

(1) -I (großes i)

Der Compiler sucht im durch -I angegebenen Pfad nach Headerdateien.

-I/home/include/ bedeutet, dass -I/home/include/ als erstes Verzeichnis für die Suche nach Header-Dateien verwendet wird. Die Suchreihenfolge ist:

/home/include/ -->/usr/include -->/usr/local/include

(2) -L (großes l)

Das bedeutet: Der Compiler sucht die Bibliotheksdatei im durch -L angegebenen Pfad. Generell können Sie mit -l nach -L mehrere Bibliotheksdateien gleichzeitig angeben.

-L/lib/ bedeutet, im Verzeichnis /lib/ nach Bibliotheksdateien zu suchen

(3) -l (kleines l)

Das bedeutet: Der Compiler durchsucht den Standardpfad des Systems. Wenn er die Bibliothek nicht finden kann, durchsucht er das aktuelle Verzeichnis. Wenn er die Bibliothek im aktuellen Verzeichnis nicht finden kann, durchsucht er den Pfad, der ganz oben in den Umgebungsvariablen wie LD_LIBRARY_PATH festgelegt ist. Wenn er die Bibliothek immer noch nicht finden kann, meldet der Compiler, dass er die Bibliothek nicht finden kann.

Dieses Beispiel verwendet die Gunzip-Bibliothek, der Dateiname der Bibliothek ist libz.so und der Bibliotheksname ist z. Es ist leicht zu erkennen, dass Sie den Bibliotheksnamen erhalten, wenn Sie die erste „lib“- und die letzte „.so“-Erweiterung des Bibliotheksdateinamens entfernen.

Zusammenfassen

Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der Funktionen von -I (großes i), -L (großes l) und -l (kleines l) beim Kompilieren von g++-Programmen unter Linux. Weitere relevante Inhalte zu Linux g++-Compilerprogrammen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So verwenden Sie G++ zum Kompilieren eines CPP-Projekts unter Linux
  • Zusammenfassung zur Verwendung von g++ zum Kompilieren von C++ in einer Linux-Umgebung
  • Methoden zum Kompilieren und Verwenden statischer und dynamischer Bibliotheken mit g++ unter Linux
  • So kompilieren Sie die dynamische GDAL-Bibliothek mit G++ in einer Linux-Umgebung
  • Detaillierte Erläuterung der grundlegenden Verwendung des Linux C ++ - Compilers g ++

<<:  Aufrufen von Baidu Map zum Abrufen von Längen- und Breitengrad in Vue

>>:  Optimierung von Datentabellen in MySQL-Datenbanken, Analyse von Fremdschlüsseln und Nutzung von drei Paradigmen

Artikel empfehlen

MySQL NULL-Datenkonvertierungsmethode (unbedingt lesen)

Wenn Sie MySQL zum Abfragen der Datenbank verwend...

MySQL Series 11-Protokollierung

Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...

my.cnf (my.ini) wichtige Parameteroptimierungs-Konfigurationsanweisungen

MyISAM-Speicher-Engine Die MyISAM-Speicher-Engine...

Detaillierte Erläuterung des Ausführungsprozesses der MySQL-Update-Anweisung

Es gab bereits einen Artikel über den Ausführungs...

Verwendung von Vue3-Seiten, Menüs und Routen

Inhaltsverzeichnis 1. Klicken Sie auf das Menü, u...

Installations-Tutorial zur neuesten MySQL-Version 8.0.17 mit Dekomprimierung

Ich persönlich denke, dass die dekomprimierte Ver...

Über React Native, das keine Verbindung zum Simulator herstellen kann

React Native kann native iOS- und Android-Apps ba...

SQL-basierte Abfrageanweisungen

Inhaltsverzeichnis 1. Einfache SELECT-Anweisung 1...

Beispielcode für HTML-Listenfeld, Textfeld und Dateifeld

Dropdown-Feld, Textfeld, Dateifeld Der obere Teil...