J'ai récemment fait une croisade pour éliminer les avertissements de notre code et je suis devenu plus familier avec les drapeaux d'avertissement GCC (tels que -Wall
, -Wno-<warning to disable>
, -fdiagnostics-show-option
, etc.). Cependant, je n'ai pas été capable de comprendre comment désactiver (ou même contrôler) les avertissements de l'éditeur de liens. L'avertissement de linker le plus courant que je recevais est de la forme suivante:Comment supprimer les avertissements de l'éditeur de liens GCC?
ld: warning: <some symbol> has different visibility (default) in
<path/to/library.a> and (hidden) in <path/to/my/class.o>
La raison pour laquelle je recevais c'était parce que la bibliothèque que j'utilisais a été construit en utilisant la visibilité default
alors que mon application est construite avec hidden
visibilité. J'ai réparé ceci en reconstruisant la bibliothèque avec hidden
visibilité.
Ma question est: comment supprimer cet avertissement si je le voulais? Ce n'est pas quelque chose que je dois faire maintenant que j'ai trouvé comment le réparer mais je suis toujours curieux de savoir comment vous supprimer cet avertissement particulier - ou des avertissements de linker en général? L'utilisation du -fdiagnostics-show-option
pour l'un des indicateurs C/C++/linker ne dit pas d'où vient cet avertissement comme avec les autres avertissements du compilateur.
man page pour ld ne dit pas qu'il existe une option pour désactiver les avertissements du linker :( –