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

柔情痞子 提交于 2019-12-03 12:29:46

问题


I am new to cmake and gcc. The first assignment in my new role in the company was to clean the errors from our linux compilation I did most of it, and now the only warning I see is

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

I want wither to suppress the warning or to solve the issue in the cmake file. Unfortunately, I still haven't found the correct -Wno-xxx statement that fits here.

Thanks!


回答1:


Code issue warnings can be silenced with -Wno-xxx options because sometimes you don't have control over the source code. But a warning telling you that a command-line option is incorrect cannot be silenced with yet another command-line option — if you can affect compiler invocation, then why not just remove the incorrect option?

This particular warning tells you that you cannot set standard to C++11 when compiling C code. To get rid of it, find where -std=c++11 is defined in the build configuration, and make sure it is only applied to C++ compilation, and not for C. For example, move it from CFLAGS to CXXFLAGS, or cmake's equivalent thereof.



来源:https://stackoverflow.com/questions/20177113/how-to-disable-gcc-warning-cc1-warning-command-line-option-std-c11-is-va

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!