So priorisieren Sie bestimmte Bibliothekspfadeinstellungen
Bei der Verwendung von g und ld zum Kompilieren eines C-Programms können Situationen auftreten, in denen eine Bibliothek Dateien mit demselben Namen sind sowohl in einem Standardpfad als auch in einem benutzerdefinierten Pfad vorhanden, was zu Konflikten führt. Um dieses Problem zu lösen, gibt es zwei Hauptansätze:
Verwendung von LD_LIBRARY_PATH (oder Äquivalent)
Mit der Umgebungsvariablen LD_LIBRARY_PATH können Sie den Suchpfad für dynamische Bibliotheken angeben. Um Ihrer benutzerdefinierten Bibliothek Priorität einzuräumen, fügen Sie ihren Pfad zum LD_LIBRARY_PATH vor dem Standardpfad hinzu. Zum Beispiel:
<code class="bash">export LD_LIBRARY_PATH=/my/dir:$LD_LIBRARY_PATH</code>
Verwendung der Option „-Wl,-rpath“
Die an g übergebene Option „-Wl,-rpath“ weist den Linker an Verwenden Sie einen bestimmten Pfad als Suchpfad für die Laufzeitbibliothek. Dieser Pfad erhält Vorrang vor dem Standardsuchpfad. Ein Beispielbefehl wäre:
<code class="bash">g++ -Wall -g -o my_binary -L/my/dir -lfoo -Wl,-rpath,$(DEFAULT_LIB_INSTALL_PATH) bar.cpp</code>
Zusätzliche Überlegungen
Das obige ist der detaillierte Inhalt vonWie lege ich bestimmte Bibliothekspfade in G und LD fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!