XLINK.EXE, le lieur macOS

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilitaires de ligne de commande - Index


XLINK.EXE est l'interface en ligne de commande de XLINK, le lieur C++ macOS.

Aide de la ligne de commande

C:\>xlink
Turbo Incremental Link 1.00 Copyright (c) 1997-2011 Embarcadero Technologies, Inc.
Syntax: ILINK objfiles, exefile, mapfile, libfiles, deffile, resfiles
@xxxx indicates use response file xxxx
General Options:                       -Af:nnnn Specify file alignment
 -C       Clear state before linking   -Ao:nnnn Specify object alignment
 -wxxx    Warning control              -ax      Specify application type
 -Enn     Max number of errors         -b:xxxx  Specify image base addr
 -r       Verbose linking              -Txx     Specify output file type
 -q       Suppress banner              -H:xxxx  Specify heap reserve size
 -c       Case sensitive linking       -Hc:xxxx Specify heap commit size
 -v       Full debug information       -S:xxxx  Specify stack reserve size
 -Gn      No state files               -Sc:xxxx Specify stack commit size
 -Gi      Generate import library      -Vd.d    Specify Windows version
 -GD      Generate .DRC file           -Dstring Set image description
Map File Control:                      -Vd.d    Specify subsystem version
 -M       Map with mangled names       -Ud.d    Specify image user version
 -m       Map file with publics        -GC      Specify image comment str
 -s       Detailed segment map         -GF      Set image flags
 -x       No map                       -Gl      Static package
Paths:                                 -Gpd     Design time only package
 -I       Intermediate output dir      -Gpr     Runtime only package
 -L       Specify library search paths -GS      Set section flags
 -j       Specify object search paths  -Gt      Fast TLS
Image Control:                         -Gz      Do image checksum
 -d       Delay load a .DLL            -Rr      Replace resources


Génération de la sortie

La famille d'options -Txx peut être utilisée pour contrôler la génération de la sortie :

Option Commande

-Tmd

Générer Mach dylib.

-Tme

Générer l'exécutable Mach.

-Tmp

Générer le package Mach.

Spécification des bibliothèques

Le chemin de recherche des bibliothèques XLINK peut être contrôlé avec les options suivantes :

Option        Description

-Fr

Spécifie le répertoire racine logique : $(SYSROOT). Cette option doit être spécifiée une seule fois. Avec BCCOSX, vous devez utiliser l'option --sysroot.

-Fp

Spécifie les chemins de bibliothèques distants. Les chemins spécifiés avec -Fp sont préfixés avec $(SYSROOT) et le résultat est ajouté au chemin des bibliothèques. Dans un projet RAD Studio, les bibliothèques distantes sont spécifiées dans le panneau Gestionnaire de SDK (vous devez modifier les chemins distants du SDK). Cette option peut être spécifiée plusieurs fois. Si cette option est utilisée, l'option -Fr doit la précéder.

-L

Spécifie les chemins de recherche des bibliothèques locales.

Vous pouvez entrelacer les options -L et -Fp.

Spécification du framework

Utilisez l'option -Ff pour lier un framework.

Option Description

-Ff

Indique à XLINK de lier le framework spécifié. Par exemple, pour lier le framework Carbon, écrivez -FfCarbon.

--framework (option BCCOSX)

Indique à BCCOSX de lier le framework spécifié. Les noms de frameworks spécifiés de cette façon sont redirigés vers XLINK en utilisant l'option -Ff.

Dans un projet RAD Studio, les frameworks peuvent être spécifiés dans le panneau Gestionnaire de SDK (modifiez les chemins distants du SDK).

Paramètres d'en-têtes exécutables

Une bibliothèque dynamique macOS a un nom d'installation associé (ou ld name). C'est une chaîne incorporée dans le fichier .dylib qui représente le chemin du fichier .dylib. Par exemple, le nom d'installation de CoreServices est /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices. Lors de la construction d'une bibliothèque dynamique ou d'un fichier exécutable macOS qui s'appuie sur CoreServices, XLINK insère un enregistrement avec l'information nom d'installation de CoreServices dans l'image binaire.

Une image binaire macOS contient un en-tête avec des paramètres de temps de chargement. Certains de ces paramètres incluent des chemins de bibliothèques dynamiques qui peuvent être inconnus au moment de la liaison. De tels chemins peuvent être corrigés, mais ceci peut être problématique si le lieur ne réserve pas assez d'espace dans l'en-tête de l'image. Pour spécifier le nombre d'octets supplémentaires à réserver, vous pouvez utiliser l'option -Gr.

Rubriques

Voir aussi