как отключить предупреждение 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.