Ich war in letzter Zeit auf einem Kreuzzug, um Warnungen aus unserem Code zu beseitigen und vertraut geworden mit GCC-Warnflags (wie -Wall
, -Wno-<warning to disable>
, -fdiagnostics-show-option
, etc.). Ich konnte jedoch nicht herausfinden, wie Linkerwarnungen zu deaktivieren (oder sogar zu steuern). Die häufigste Linker Warnung, dass ich immer ist in der folgenden Form:Wie unterdrücken Sie GCC-Linker-Warnungen?
ld: warning: <some symbol> has different visibility (default) in
<path/to/library.a> and (hidden) in <path/to/my/class.o>
Der Grund war ich immer das war, weil die Bibliothek ich wurde mit der default
Sichtbarkeit während meiner Anwendung gebaut wurde mit mit hidden
Sichtbarkeit gebaut wird. Ich habe dies behoben, indem ich die Bibliothek mit hidden
Sichtbarkeit neu erstellt habe.
Meine Frage ist jedoch: Wie würde ich diese Warnung unterdrücken, wenn ich wollte? Es ist nicht etwas, das ich jetzt tun muss, da ich herausgefunden habe, wie ich es beheben kann, aber ich bin immer noch neugierig, wie Sie diese bestimmte Warnung unterdrücken würden - oder irgendwelche Linkerwarnungen im Allgemeinen?
Die Verwendung der -fdiagnostics-show-option
für eines der C/C++/Linker-Flags sagt nicht, woher diese Warnung kommt, wie mit anderen Compiler-Warnungen.
man page für ld sagt nicht, es gibt eine option, um linker warnungen zu deaktivieren :( –