一、起因
下载的CLion没有自带gcc编译器,需要自己指定,而自己指定的gcc的版本一般都比较高,以我自己Windows电脑上的gcc8.1为例,它默认的C语言标准是C17
(也叫C18
,2017年提出、2018年通过),那我怎么强制让编译器使用经典的ANSI C
标准呢?
二、解决办法
修改CMakeLists.txt
文件,增加一行:
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c90 -pedantic")
其中的-std=c90
指的就是使用1990年发布的那一版本(即ANSI C
版)。
具体有哪些取值可参考这里
网址如下:
https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/C-Dialect-Options.html#C-Dialect-Options
参考截图:
三、相关文章
怎么知道不同的GCC版本编译C文件时默认使用的是哪个标准(C89/C90/ANSI C、C99、C11、C17/C18)?