首页 > 解决方案 > Makefile ifneq 条件失败

问题描述

我正在添加一些条件标志,这取决于 gcc 版本下面如果 makefile 片段

CPPFLAGS :=  -O0  -g
CXXFLAGS := -fPIC
GCCVERSION = $(shell gcc --version | grep ^gcc |cut -b11-16)
ifneq ($(GCCVERSION),"4.1.2")
CPPFLAGS +=  -std=c++0x
CXXFLAGS += -m64
endif

ifneq 条件失败。我已经按预期检查了我的 $(GCCVERSION)=4.1.2 。

编辑:
我已经尝试过以下选项
ifneq ($(GCCVERSION),4.1.2)
ifneq ($(GCCVERSION),'4.1.2')
ifneq ("$(GCCVERSION)","4.1.2")

标签: makefilegnu-make

解决方案


你需要剥离$(GCCVERSION)

CPPFLAGS :=  -O0  -g
CXXFLAGS := -fPIC
GCCVERSION = $(shell gcc --version | grep ^gcc |cut -b11-16)
ifneq ($(strip $(GCCVERSION)),4.1.2)
CPPFLAGS +=  -std=c++0x
CXXFLAGS += -m64
endif

推荐阅读