Как Вы подавляете предупреждения компоновщика GCC?

В последнее время я был в крестовом походе, чтобы исключить предупреждения из нашего кода, и стал более знаком с флагами предупреждений GCC (такими как -Wall , -Wno- <предупреждение об отключении> , -fdiagnostics-show-option и т. Д.). Однако я не имею Я не мог понять, как отключить (или даже контролировать) предупреждения компоновщика. Самое распространенное предупреждение компоновщика, которое я получаю, имеет следующую форму:

ld: warning: <some symbol> has different visibility (default) in 
<path/to/library.a> and (hidden) in <path/to/my/class.o>

Причина, по которой я его получил, заключалась в том, что используемая библиотека была построена с использованием видимости по умолчанию , а мое приложение создается с помощью скрытая видимость. Я исправил это, перестроив библиотеку со скрытой видимостью .

Мой вопрос: как бы я подавил это предупреждение, если бы захотел? Это не то, что мне нужно сделать сейчас, когда я понял, как это исправить, но мне все еще любопытно, как бы вы подавили это конкретное предупреждение или какие-либо предупреждения компоновщика в целом?

Использование -fdiagnostics-show-option для любого из флагов C / C ++ / linker не могу сказать, откуда это предупреждение, как с другими предупреждениями компилятора.

6
задан Jonathan Leffler 24 August 2015 в 23:46
поделиться