2017-01-11 3 views
-1

Zum Beispiel habe ich SDL2/Include und SDL2/lib in meinem Computer Wie zu wissen, welche Link Flags Optionen, die von den Compiler Fir Verknüpfung Optionen verwendet werden? Wie kann man wissen, dass es -lsDL2main ist?Wie kann ich ein Link-Flag aus einem Framework erkennen?

+1

Durch Lesen der Framework-Dokumentation. –

+0

Gibt es einen Befehl für? –

+1

Für was genau? –

Antwort

1

Die Antwort kann davon abhängen, welchen Compiler Sie verwenden. Sie finden die Antwort im Handbuch dieses Compilers.

Hier ein Auszug aus einer bestimmten Compiler ist manual

-l Bibliothek

... Der Linker durchsucht eine Standardliste der Verzeichnisse für die Bibliothek, die liblibrary.a tatsächlich eine Datei mit dem Namen ist . Der Linker verwendet diese Datei dann so, als wäre sie genau mit dem Namen angegeben worden.

... Der einzige Unterschied zwischen der Verwendung einer Option -l und der Angabe eines Dateinamens besteht darin, dass -l die Bibliothek mit 'lib' und '.a' umgibt und mehrere Verzeichnisse durchsucht.

Die Dokumentation erwähnt nicht, dass '.so' erweiterte Dateinamen auch berücksichtigt werden.

Also, wenn dies der Compiler ist, den Sie verwenden, und wenn die Datei, die Sie verknüpfen möchten, heißt, dann werden Sie wissen, dass Sie -lSDL2main für den Link-Befehl angeben müssen.


Ein Framework kann mehrere Archivdateien bereitstellen. Die Dokumentation des Frameworks sollte Ihnen sagen, mit welchen Dateien Sie verlinken sollten.

Verwandte Themen