【发布时间】:2011-03-25 11:29:53
【问题描述】:
我最近一直在努力消除代码中的警告,并且更加熟悉 GCC 警告标志(例如 -Wall、-Wno-<warning to disable>、-fdiagnostics-show-option 等)。但是我无法弄清楚如何禁用(甚至控制)链接器警告。我得到的最常见的链接器警告是以下形式:
ld: warning: <some symbol> has different visibility (default) in
<path/to/library.a> and (hidden) in <path/to/my/class.o>
我得到这个的原因是因为我使用的库是使用 default 可见性构建的,而我的应用程序是使用 hidden 可见性构建的。我已通过使用 hidden 可见性重建库来解决此问题。
但我的问题是:如果我愿意,我将如何抑制该警告?这不是我现在需要做的事情,因为我已经想出了如何解决它,但我仍然很好奇你将如何抑制该特定警告 - 或一般的任何链接器警告?
对任何 C/C++/链接器标志使用 -fdiagnostics-show-option 并不能像其他编译器警告一样说明该警告的来源。
【问题讨论】:
-
ld 的手册页没有说有任何选项可以关闭链接器警告:(
标签: gcc warnings suppress-warnings linker-warning