Als «linker» getaggte Fragen

123
Was macht das Linker-Flag -all_load?

Ich kann nirgendwo finden, was das Flag -all_load beim Kompilieren von Objective-C-Code bewirkt. Ich habe einige Probleme beim Hochladen von Binärdateien auf Apple. Sie sagen, das liegt daran, dass ich dieses Flag nicht verwendet habe, aber mein Code wird auch ohne es kompiliert. Kann mir jemand...

110
Wie kann ich auf eine bestimmte glibc-Version verlinken?

Wenn ich etwas auf meinem Ubuntu Lucid 10.04-PC kompiliere, wird es mit glibc verknüpft. Lucid verwendet 2.11 von glibc. Wenn ich diese Binärdatei auf einem anderen PC mit einem älteren glibc ausführe, schlägt der Befehl fehl und sagt, dass es kein glibc 2.11 gibt ... Soweit ich weiß, verwendet...

103
Wofür ist __gxx_personality_v0?

Dies ist eine gebrauchte Frage von einer OS-Entwicklungsseite, die mich jedoch neugierig machte, da ich nirgendwo eine anständige Erklärung finden konnte. Beim Kompilieren und Verknüpfen eines freistehenden C ++ - Programms mit gcc tritt manchmal ein Linkerfehler wie der folgende...

91
Wie wird die Präferenz des Bibliothekspfads angegeben?

Ich kompiliere ein C ++ - Programm mit g++und ld. Ich habe eine .soBibliothek, die ich beim Verknüpfen verwenden möchte. Es besteht jedoch eine Bibliothek mit dem gleichen Namen in /usr/local/lib, und ldist die Wahl , dass die Bibliothek über das, was ich direkt spezifizieren bin. Wie kann ich das...

88
Was ist der Unterschied zwischen -rpath und -L?

gccund ldbieten viele Möglichkeiten, einen Suchpfad für Bibliotheken anzugeben, darunter die Flags -rpathund -L. Die Manpages zeigen keine Unterschiede zwischen diesen beiden Flags, was effektiv bedeutet, dass jedes Flag dem Bibliothekssuchpfad eine Bibliothek hinzufügt. Es scheint jedoch seltsam,...

85
Die Kompilierung schlägt fehl mit "Verschiebung R_X86_64_32 gegen" .rodata.str1.8 "kann nicht verwendet werden, wenn ein freigegebenes Objekt erstellt wird"

Ich versuche, diesen Quellcode aus dem Makefile in einem VPS zu kompilieren, aber es funktioniert nicht. Das VPS ist ein 64-Cent-Betriebssystem Hier ist der vollständige Fehler # make gcc -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/amx/*.c g++ -c -O3 -w -DLINUX -I../SDK/amx/ ../SDK/*.cpp g++ -c -O3 -w...

83
statische Variablen in einer Inline-Funktion

Ich habe eine Funktion, die in einer Header-Datei deklariert und definiert ist. Dies ist ein Problem für sich. Wenn diese Funktion nicht inline ist, erhält jede Übersetzungseinheit, die diesen Header verwendet, eine Kopie der Funktion, und wenn sie miteinander verknüpft sind, werden sie...

82
gemeinsame globale Variablen in C.

Wie kann ich globale Variablen erstellen, die in C gemeinsam genutzt werden? Wenn ich es in eine Header-Datei lege, beschwert sich der Linker, dass die Variablen bereits definiert sind. Ist die einzige Möglichkeit, die Variable in einer meiner C-Dateien zu deklarieren und manuell externs oben in...