gpt4 book ai didi

gcc - 检查 Makefile 中的 gcc 版本?

转载 作者:行者123 更新时间:2023-12-03 06:36:59 29 4
gpt4 key购买 nike

我想使用一些旧 gcc 版本中不可用的 gcc 警告开关(例如 -Wtype-limits)。

是否有一种简单的方法来检查 gcc 版本,并且仅在使用最近的 gcc 时才添加这些额外选项?

最佳答案

我不会说这很容易,但是您可以使用 GNU make 的 shell 函数来执行像 gcc --version 这样的 shell 命令,然后使用 ifeq 条件表达式来检查版本号并相应地设置 CFLAGS 变量。

这是一个简单的 makefile 示例:

CC = gcc
GCCVERSION = $(shell gcc --version | grep ^gcc | sed 's/^.* //g')
CFLAGS = -g

ifeq "$(GCCVERSION)" "4.4.3"
CFLAGS += -Wtype-limits
endif

all:
$(CC) $(CFLAGS) prog.c -o prog

编辑:没有ifgt。但是,您可以使用 shell expr 命令进行大于比较。这是一个例子

CC = gcc
GCCVERSIONGTEQ4 := $(shell expr `gcc -dumpversion | cut -f1 -d.` \>= 4)
CFLAGS = -g

ifeq "$(GCCVERSIONGTEQ4)" "1"
CFLAGS += -Wtype-limits
endif

all:
$(CC) $(CFLAGS) prog.c -o prog

关于gcc - 检查 Makefile 中的 gcc 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5188267/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com