как отключить предупреждение gcc "cc1: предупреждение: опция командной строки' - std=c++11 ' действительна для C++ / ObjC++, но не для C [включена по умолчанию]"

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

cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C [enabled by default]

Я хочу увянуть, чтобы подавить предупреждение или решить проблему в файле cmake. К сожалению, я до сих пор не нашел правильный -Wno-xxx оператор, который подходит здесь.

спасибо!

1 ответов


предупреждения о выпуске кода можно отключить с помощью -Wno-xxx варианты, потому что иногда у вас нет контроля над исходным кодом. Но предупреждение говорит вам, что a опция командной строки неверно не может быть отключено еще одним параметром командной строки - Если вы можете повлиять на вызов компилятора, то почему бы просто не удалить неверный параметр?

это конкретное предупреждение говорит вам, что вы не можете установить стандарт на C++11 при компиляции кода C. Чтобы избавиться от него, найдите где -std=c++11 определяется в конфигурации сборки и убедитесь, что он применяется только к компиляции C++, а не для C. Например, переместите его из CFLAGS to CXXFLAGS, или эквивалент cmake.