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

Detaillierte Erklärung des Overflow-Scrollens zur Lösung des Scroll-Lag-Problems

Vorwort Wenn Sie das Attribut „overflow: scroll“ ...

5 Lösungen für den CSS-Box-Zusammenbruch

Zunächst: Was ist ein Box-Collapse? Elemente, die...

Vor- und Nachteile von bedingten Kommentaren im Internet Explorer

Die bedingten Kommentare des Internet Explorers s...

Eine kurze Einführung in die Basiskomponenten der VUE uni-app

1. Scroll-Ansicht Beim vertikalen Scrollen müssen...

JavaScript-Code zur Implementierung eines einfachen Rechners

In diesem Artikelbeispiel wird der spezifische Ja...

Lösen Sie das Problem verschwindender Docker-Images

1. Spiegelbilder verschwinden in 50 und 93 [root@...

So verwenden Sie eine VLAN-getaggte Ethernet-Karte im CentOS/RHEL-System

In einigen Szenarien möchten wir derselben Ethern...

Hinweise zur IE8-Kompatibilität, die mir aufgefallen sind

1. getElementById von IE8 unterstützt nur IDs, nic...

Detaillierte Erklärung des Prinzips und der Funktion des JavaScript-Closures

Inhaltsverzeichnis Einführung Verwendung von Vers...