首页 > 解决方案 > 哪个 gcc 版本引入了`-fstack-protector-strong`?

问题描述

在我的构建脚本中,我想有条件地添加-fstack-protector-strong到我CFLAGS的 gcc 是否支持它(我的项目使用多个版本的 gcc 构建)。

如果 gcc 支持,我希望我的构建脚本(用 bash 编写)解析输出gcc --version并自动添加此标志。

哪个版本的 gcc 最早包含-fstack-protector-strong标志?

标签: bashgcc

解决方案


我希望我的构建脚本(用 bash 编写)解析 gcc --version 的输出,并在 gcc 支持的情况下自动添加此标志。

而不是这样做,只需gcc -fstack-protector-strong使用有效的源文件调用并查看它是否编译。这种方法普遍适用于任何编译选项,这将节省您搜索哪个版本具有哪些选项的时间。您可以从 CMake的 check_c_compile_flag函数中获得灵感。


推荐阅读