Avertissements du lieur C++

De RAD Studio
Aller à : navigation, rechercher

Remonter à Lieur C++


Projet > Options > Lieur C++ > Avertissements

Utilisez cette boîte de dialogue pour définir les options d'avertissement du lieur C++.

Options Description

Cible, Appliquer, Enregistrer

Voir Options de la cible.

Eléments communs

Voir Eléments communs des pages Options de projet.

Remarque : La page Avertissements prend en charge uniquement ILINK32 (Windows 32 bits), ILINK64 (Windows 64 bits) et XLINK (macOS).
Option Description

Désactiver tous les avertissements
(-w-)

Désactive tous les messages d'avertissement et d'erreur. Valeur par défaut = False

Activer tous les avertissements
(-w)

Affiche tous les messages d'avertissement et d'erreur. Valeur par défaut = False

Avertissements sélectionnés

Active seulement les avertissements spécifiques qui sont définis sur True. Cliquez sur + pour afficher la liste des avertissements ILINK32. Valeur par défaut = True.

Option Par défaut Description Commutateur

Tentative d'exportation d'un symbole non public

Activée

Un nom de symbole était listé dans la section EXPORTS du fichier de définition de module, mais aucun symbole de ce nom n'a été trouvé comme public dans les modules liés.

Les causes possibles sont :

  • Vous essayez d'exporter une fonction qui n'est pas déclarée comme publique.
  • Vous avez spécifié le mot clé _export dans la déclaration d'une fonction mais pas dans sa définition, ou l'inverse.
  • Vous avez fait une erreur d'orthographe ou de casse.
  • Vous exportez une procédure qui est déclarée mais n'est pas définie.
  • Si vous utilisez des exportations sensibles à la casse, la convention d'appel Pascal utilisée par Windows requiert que ces symboles soient tous en caractères majuscules.

-wexp

Création d'un package sans unité

Activée

Vous tentez de créer un package qui ne contient pas d'unité. Vérifiez la liste Contient pour vous assurer que les unités associées sont listées. (La liste Contient identifie les fichiers unité qui sont liés dans le package.)

-wnou

Image liée en tant qu'exécutable, mais avec une extension .DLL

Activée

Le lieur génère cet avertissement lorsqu'un fichier exécutable a été généré et stocké dans un fichier ayant l'extension .DLL ou .BPL. Cela se produit généralement lorsque vous voulez construire une .DLL ou .BPL, mais que vous avez oublié de spécifier une cible .DLL ou .BPL.

Le message d'avertissement complet est :

Image liée en tant qu'exécutable, mais avec une extension .DLL ou .BPL

-wdee

Symbole public défini dans plusieurs bibliothèques

Désactivée

Cet avertissement est affiché si vous avez des symboles en double dans deux bibliothèques distinctes.

Il existe une gestion spéciale pour -wdup et -wdpl. -wdup peut être considéré comme le contrôle maître pour les avertissements sur les symboles dupliqués publics. Si cet avertissement est désactivé, aucun message sur les symboles dupliqués publics n'est émis. -wdpl contrôle si les avertissements sont émis pour les symboles dupliqués publics qui sont liés depuis des modules de bibliothèques. Si -wdpl est désactivé et que -wdup est activé, seuls les avertissements sur les symboles dupliqués publics des fichiers OBJ de la ligne de commande du lieur sont émis. Si -wdpl et -wdup sont tous deux activés, le lieur marque les symboles dupliqués publics qui sont dans des modules à lier depuis des fichiers LIB.

A présent, -wdpl est le seul avertissement qui soit désactivé par défaut. Ainsi, ne spécifier aucune option d'avertissement sur la ligne de commande est identique à :

-w+exp -w+rty -w+dup -w-dpl -w+nou -w+srd -w+dee -w+dli -w+snf

Les messages d'avertissement complets sont :

Symbole public 'symbol' défini dans les modules de bibliothèque 'module1' et 'module2'
Symbole public 'symbol' défini dans les modules 'module1' et 'module2'

-wdup
-wdpl

Symbole public défini dans plusieurs fichiers objet

Activée

Section introuvable

Activée

Cet avertissement apparaît si une section nommée n'a pas été trouvée.

Le message d'avertissement complet est :

Section 'section' introuvable

-wsnf

Retirer les relogements d'une DLL peut en altérer le fonctionnement

Activée

Cet avertissement se produit si l'option Adresse de base est définie lors de la liaison d'une DLL.

Le message d'avertissement complet est :

Retirer les relogements d'une DLL peut en altérer le fonctionnement

-wsrd

Impossible de charger la DLL

Activée

Cet avertissement se produit si l'option Adresse de base est définie lors de la liaison d'une DLL. Dans presque tous les cas, cette erreur empêche l'application de s'exécuter.

-wuld

Impossible d'effectuer la liaison incrémentielle

Activée

Cet avertissement apparaît si la liaison incrémentielle échoue. Le lieur a détecté une erreur dans l'un de ses fichiers d'état (nomprojet.IL*). Il a ainsi démarré une liaison complète et créé un nouveau jeu de fichiers d'état.

Le message d'avertissement complet est :

Impossible d'effectuer la liaison incrémentielle - liaison complète en cours

-wrty

Voir aussi