根据编译的文件改变 CPPPATH

Vary CPPPATH based on file compiled

我有一些 .c 文件可以编译成 .o 文件。这些 .c 文件包括第三方 .h 文件。我只想将第三方文件夹作为包含位置包含在需要它的文件中。

这是我想要做的伪代码:

gcc -o one.o -Imypath/include one.c
gcc -o two.o -Imypath/include two.c
gcc -o thirdpartyinterface.o -Imypath/include -Ithirdpartypath/include thirdparty.c
gcc -o theexe one.o two.o thirdpartyinterface.o

请注意,我只想为我的第三方接口代码包含第三方路径。

我面临的问题是 scons 似乎喜欢对所有用 env.

编译的东西使用一个 CPPPATH

经过深思熟虑,我认为我可以将我的第三方界面构建为 .a,如果这会有所帮助的话。

您可以包含关键字参数以在调用构建器时进行临时覆盖。这些仅对特定构建有效,不会更改活动环境。例如:

obj = Object('hello.c', CCFLAGS='-MD -MF hello.d', CPPPATH='.')