如何使用GCC的I-flag包含多个文件夹?

问题描述 投票:1回答:2

通常我使用GCC I-flag以这种方式包含文件夹:

gcc main.c -IfolderA -IfolderB

好吧,我需要重新组织我的makefiels结构,我正在考虑有一个环境变量,定义如下:

INCLUDES="folderA folderB"

我怎么能使用GCC I-flag来包含这两个文件夹?

我想到了这样的东西(但它不起作用):

gcc main.c -I($(INCLUDES))
gcc makefile include include-path
2个回答
2
投票

您需要将-I标志添加到INCLUDES变量的所有“元素”中。也许通过这样的事情:

gcc main.c $(foreach dir,$(INCLUDES),-I$(dir))

The foreach function


1
投票

您也可以使用addprefix function - 尽管它的设计目的是处理文件名,但它仍然可以在这里使用:

gcc main.c $(addprefix -I,$(INCLUDES))
© www.soinside.com 2019 - 2024. All rights reserved.