C++ 通过命令行设置CPPFLAGS
假设在我的makefile中C++ 通过命令行设置CPPFLAGS,c++,makefile,C++,Makefile,假设在我的makefile中 program_INCLUDE_DIRS += ../inc CPPFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir)) 现在,我想在通过命令行运行makefile时包含一个名为../inc2的目录(在运行makefile的目录上方) 我知道我应该将../inc2目录设置为CPPFLAGS 请通过命令行向我建议包含目录../inc2的命令语法。另外,我不想覆盖ma
program_INCLUDE_DIRS += ../inc
CPPFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir))
现在,我想在通过命令行运行makefile时包含一个名为../inc2的目录(在运行makefile的目录上方)
我知道我应该将../inc2目录设置为CPPFLAGS
请通过命令行向我建议包含目录../inc2的命令语法。另外,我不想覆盖makefile(../inc)中包含的现有目录。
+=
意味着CPPFLAGS
被附加而不是替换。这意味着您可以在shell中设置它,现有目录将被追加,如下所示:
export CPPFLAGS=-I../inc2
make
如果您需要经常这样做,更好的解决方案是将makefile更改为:
program_INCLUDE_DIRS += ../inc ../inc2
@Karl…我无法使用导出功能实现这一点…您能否建议通过命令行直接执行此操作,如…make CPPFLAGS+=-I../inc2。此外,我猜在导出时,../inc2被../inc2过度使用了。您使用的是什么shell
CPPFLAGS=-I../inc2 make
也适用于大多数类似unix的shell。我不知道windows会是什么样子。