C++-Linker
Nach oben zu Projektoptionen (Dialogfeld)
Projekt > Optionen > C++-Linker
In diesem Dialogfeld legen Sie Optionen für den C++-Linker fest.
Inhaltsverzeichnis
Optionen | Beschreibung |
---|---|
Ziel, Übernehmen, Speichern |
Siehe Optionen für das Ziel. |
Gemeinsame Elemente |
Link-Optionen
Link-Optionen | Beschreibung | Linker-Optionen | ||||
---|---|---|---|---|---|---|
ilink32 | ilink64 | xlink | ld (iOS) | ld (Android) | ||
Inkrementelles Linken deaktivieren |
Unterdrückt die Erzeugung von Linker-Statusdateien und deaktiviert das inkrementelle Linken. Wenn Sie die Option Inkrementelles Linken deaktivieren verwenden, benötigen nachfolgende Link-Vorgänge genauso lange wie der erste. |
-Gn | -Gn | -Gn | Plattform nicht unterstützt | Plattform nicht unterstützt |
Zum Linken benötigte Zeit anzeigen |
Nimmt die zum Fertigstellen des Linkens benötigte Zeit in die Linker-Ausgabe auf.
|
-t | -t | -t | Plattform nicht unterstützt | Plattform nicht unterstützt |
Vollständige Debug-Informationen |
Fügt diejenigen Informationen in die Ausgabedatei ein, die erforderlich sind, um Anwendungen mit dem integrierten Debugger von C++Builder zu debuggen:
In der Befehlszeile bewirkt diese Option, dass der Linker in der TDS-Datei Debug-Informationen für alle Objektmodule einfügt, die Debug-Informationen enthalten. Sie können mit den Optionen -v+ und -v- die Debug-Informationen selektiv aktivieren oder deaktivieren, d. h. auf einer Modul-zu-Modul-Basis (aber nicht in derselben Befehlszeile, in der -v verwendet wurde). Beispiel: Der folgende Befehl schließt Debug-Informationen für die Module
Vorgabe = False |
-v | -v | -v | -S | -S |
.drc-Datei erzeugen |
ILINK32 erzeugt mit Delphi kompatible .RC-Dateien (DRC-Dateien). Die DRC-Datei hat denselben Namen wie die ausführbare Datei und wird in dasselbe Verzeichnis wie diese ausgegeben. |
-GD | -GD | -GD | Plattform nicht unterstützt | Plattform nicht unterstützt |
.map-Symboldatei erzeugen |
Erzeugt in .\OutputFolder\ProjectName.map eine Map-Datei. Für Desktop-Plattformen legen Sie die MAP-Dateioptionen auf der Seite C++-Linker Ausgabe fest. |
N/A | N/A | N/A | -map (nicht aktiviert) | -Map (nicht aktiviert) |
Importbibliothek erzeugen |
Erzeugt eine Importbibliotheksdatei, eine kleine statische Bibliothek, die die Exporte eines Package oder einer DLL beschreibt, damit eine Anwendung diese linken kann. Diese Datei wird zum Linken von dynamischen Bibliotheken verwendet. Ohne Importbibliothek können Sie das Package nicht in C++ verwenden. Die Erweiterung der Importbibliothek lautet:
Diese Option wird nur für dynamische C++-Link-Bibliotheksprojekte angezeigt. Nur für C++-Packages aktiviert.
|
-Gi | -Gi | -Gi | Plattform nicht unterstützt | Plattform nicht unterstützt |
Statische Package-Bibliothek (.lib) erzeugen |
Erzeugt eine statisch linkbare Package-Bibliothek. Zum Erzeugen einer statischen C++-Package-Bibliothek (.lib) ist ein Satz von OBJ-Dateien erforderlich, die nicht mit den zum Erzeugen der dynamischen Bibliothek (.bpl) verwendeten OBJ-Dateien identisch sind. Wenn diese Option aktiviert ist (Vorgabe), generiert ein Erzeugen- oder Compilieren-Befehl zwei Gruppen von OBJ-Dateien:
Die OBJ-Dateien für die statische Bibliothek (.lib) werden in ein Unterverzeichnis ausgegeben, das im Projektverzeichnis, normalerweise im Verzeichnis Wenn diese Option deaktiviert ist, generiert ein Erzeugen- oder Compilieren-Befehl nur die dynamische Bibliothek (.bpl). Weitere Informationen finden Sie unter Erzeugen von statischen Packages. Nur für C++-Packages aktiviert. Vorgabe = True |
-Gl | -Gl | -Gl | Plattform nicht unterstützt | Plattform nicht unterstützt |
Ausgabedateien beibehalten |
Weist den Linker an, die Ausgabedateien beizubehalten, die sonst bei Fehlern gelöscht würden. Der Linker wurde geändert, um seine Ausgabedatei (EXE/DLL) zu löschen, wenn beim Linken Fehler auftreten. Das alte Verhalten bestand darin, diese Dateien beizubehalten, anstatt sie zu löschen.
|
-Gk | -Gk | -Gk | Plattform nicht unterstützt | Plattform nicht unterstützt |
Mit dynamischer RTL linken |
Steuert, ob die C-RTL die Laufzeitbibliothek (cc3290.dll) dynamisch oder statisch linkt.
|
N/A | N/A | N/A | N/A | N/A |
Mit der Delphi-Laufzeitbibliothek linken |
Stellt sicher, dass die Anwendung mit Folgendem gelinkt wird:
C++ linkt mit der Delphi-RTL, wenn diese Option aktiviert ist oder das Projekt eine Framework-Verbindung aufweist. FMX-Formularprojekte linken aufgrund ihrer Framework-Verbindung mit der Delphi-RTL. Verwenden Sie diese Option für C++-Anwendungen ohne Framework-Verbindungen, die Delphi-Typen (wie UnicodeString, Variant usw.) verwenden oder auf von Units aus dem Delphi-RTL-Package (wie SysUtils, Classes, IOUtils usw.) bereitgestellte Funktionen zugreifen sollen. C++-Konsolenanwendungen können Delphi-Exceptions nur behandeln, wenn Sie diese Option aktivieren oder beim Erstellen der Anwendung mit dem Experten Neue Konsolenanwendung (C++) ein Framework auswählen.
|
N/A | N/A | N/A | N/A | N/A |
Temporäre .lnk-Linker-Datei nach Linken entfernen |
Mit dieser Option wird die temporäre Linker-Datei aus .\OutputFolder\ProjectName.lnk entfernt.
|
N/A | N/A | N/A | N/A | N/A |
Maximale Fehleranzahl festlegen |
Gibt die Anzahl der maximal zulässigen Fehler (nn) an, ehe das Linken abgebrochen wird.
|
-Enn | -Enn | -Enn | Plattform nicht unterstützt | Plattform nicht unterstützt |
Erweiterte Optionen
Erweiterte Optionen | Beschreibung | Linker-Optionen | ||||
---|---|---|---|---|---|---|
ilink32 | ilink64 | xlink | ld (iOS) | ld (Android) | ||
Weitere Optionen |
Geben Sie beliebige, weitere Linker-Optionen an. Weitere Optionen finden Sie unter ILINK32.EXE: Der inkrementelle 32-Bit-Linker. |
N/A | N/A | N/A | N/A | N/A |
Beim Linken Schreibweise beachten |
Unterscheidet zwischen Klein- und Großschreibung in public und externen Symbolen. Normalerweise sollte diese Option aktiviert sein, da sowohl C als auch C++ zwischen Groß- und Kleinschreibung unterscheiden.
|
-c | -c | -c | Plattform nicht unterstützt | Plattform nicht unterstützt |
Vor dem Linken Status leeren |
Entfernt vorhandene inkrementelle Linker-Statusdateien und erstellt diese Dateien dann neu, ehe das Linken fortgesetzt wird. Diese Option ermöglicht die Aktualisierung der Statusdateien.
|
-C | -C | -C | Plattform nicht unterstützt | Plattform nicht unterstützt |
DLLs verzögert laden |
Legt DLLs fest, die verzögert geladen werden sollen. Das verzögerte Laden ist bei DLLs sinnvoll, die selten von einer Anwendung verwendet werden, kann aber zu Lasten des Startvorgangs gehen. Verzögert geladene DLLs werden erst dann geladen und initialisiert, wenn der Eintrittspunkt in der DLL tatsächlich aufgerufen wird. Es gibt eine begleitende RTL-Unterstützung für das verzögerte Laden von DLLs, mit der Benutzer Fehler beim Laden behandeln und das verzögerte Ladesystem bei Bedarf ersetzen können. Siehe die Beschreibung der |
-d | -d | -d | Plattform nicht unterstützt | Plattform nicht unterstützt |
Image-Prüfsumme ermitteln |
Wenn diese Option aktiviert ist, wird die Prüfsumme des Ziels berechnet und in den PE-Header des Ziels aufgenommen. Diese Information wird von NT-Kernel-Treibern und System-DLLs verwendet. Vorgabe = False |
-Gz | -Gz | -Gz | Plattform nicht unterstützt | Plattform nicht unterstützt |
Schnelles TLS |
Weist TLS (Thread-lokaler Speicher) von Windows zu, anstatt den Mechanismus zur gemeinsamen Nutzung von TLS zu verwenden.
|
-Gt | -Gt | -Gt | Plattform nicht unterstützt | Plattform nicht unterstützt |
Dateiausrichtung |
Gibt die Seitenausrichtung für Code und Daten innerhalb der ausführbaren Datei an. Der Linker verwendet den Dateiausrichtungswert, wenn er die verschiedenen Objekte und Abschnitte (z. B. Code und Daten) in die Datei schreibt. Angenommen, Sie verwenden den Vorgabewert 0x200, so speichert der Linker den Abschnitt des Image in 512-Byte-Grenzen in der ausführbaren Datei. Wenn Sie diese Option verwenden, müssen Sie einen Wert für die Dateiausrichtung angeben, der eine Potenz von 2 ist, wobei der kleinste Wert 16 ist. Der veraltete Stil dieser Option ( Die Befehlszeilenversion dieser Option ( |
-Af | -Af | -Af | Plattform nicht unterstützt | Plattform nicht unterstützt |
Objektausrichtung |
Der Linker legt anhand des Objektausrichtungswertes die virtuellen Adressen der verschiedenen Objekte und Abschnitte (wie Code und Daten) in Ihrer Anwendung fest. Angenommen, Sie geben als Objektausrichtungswert 8192 an, so richtet der Linker die virtuellen Adressen der Abschnitte im Image an den 8192-Byte-Grenzen (0x2000) aus. Wenn Sie diese Option verwenden, müssen Sie einen Wert für die Objektausrichtung angeben, der eine Potenz von 2 ist, wobei der kleinste Wert 4096 (0x1000, Vorgabe) ist. Die Befehlszeilenversion dieser Option ( |
-Ao | -Ao | -Ao | Plattform nicht unterstützt | Plattform nicht unterstützt |
Ressourcen ersetzen |
Fügt Ressourcen hinzu und/oder ersetzt sie, ohne die vorhandenen Ressourcen zu entfernen.
|
-Rr | -Rr | -Rr | Plattform nicht unterstützt | Plattform nicht unterstützt |
Ausführliches Linken |
Setzt die ausführliche Link-Option für RLINK32, wodurch beim Ressourcen-Linken detaillierte Informationen ausgegeben werden.
|
-r | -r | -r | Plattform nicht unterstützt | Plattform nicht unterstützt |
Weitere gelinkte Bibliotheken |
Linkt die Anwendung mit der angegebenen Liste von Bibliotheken. Legt Bibliotheken per Codenamen fest. Um beispielsweise mit MIDAS zu linken, fügen Sie der Liste "midas" hinzu.
|
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -l | -l |
Mit DBX-InterBase linken |
Linkt mit der dbExpress InterBase-Clientbibliothek. |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -lsqlib | -lsqlib |
Mit Indy linken |
Linkt mit den Indy-Bibliotheken. |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -lIndyCore -lIndyProtocols -lIndySystem | -lIndyCore -lIndyProtocols -lIndySystem |
Mit InterBase ToGo linken |
Linkt mit der dbExpress InterBase ToGo-Clientbibliothek. |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -libtogo | -libtogo |
Mit Midas linken |
Linkt mit MIDAS, der DataSnap-Bibliothek. |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -lmidas | -lmidas |
Mit regulären Ausdrücken verknüpfen. |
Linkt mit der Bibliothek der regulären Ausdrücke, die an C++ angepasste PCRE-Bibliothek (Perl-kompatible reguläre Ausdrücke). |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -lpcre | Plattform nicht unterstützt |
Mit SQLite linken |
Linkt mit der dbExpress SQLite-Clientbibliothek. |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -lsqlite3 | -lsqlite |
Mit SSL und Crypto linken |
Linkt mit den OpenSSL-Bibliotheken. Siehe auch Erstellen von iOS-Apps, OpenSSL-Unterstützung. |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -lssl -lcrypto | Plattform nicht unterstützt |
Mit ZLib linken |
Linkt mit der ZLib-Komprimierungsbibliothek.
|
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -lz | -lz |
Niedrigste unterstützte iOS-Version |
Legt die niedrigste iOS-Version fest, die Ihre Anwendung unterstützt. Siehe Plattformvoraussetzungen für FireMonkey, iOS-Anforderungen. |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -iphoneos_version_min | N/A |
Symbole, von der die Laufzeit erwartet, dass sie exportiert werden |
Liste der Symbole, die exportiert werden müssen, weil sie zur Laufzeit benötigt werden. |
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | -exported_symbol | Plattform nicht unterstützt |