基于可变成生成文件有条件compliation(conditional compliation ba

2019-10-31 15:10发布

在我的C / C ++代码,我想包括或不依赖于不同的编译文件。

目前我使用这个:

#ifndef __x86_64__
    #include <myLib.h>
#endif

这给了我这样的平台是32/64位,但是并没有给我足够的自由的可能性。

我想一个变量传递给我的makefile像

make includeMyLib=1

并根据此有得像:

#ifndef includeMyLib
    #include <myLib.h>
#endif

你知道,如果这样的事是可能的?

Answer 1:

如果你使用了GNU make,你可以有在像这样Makefile

ifdef includeMyLib
CFLAGS += -DincludeMyLib
endif

这将改变使用的编译器添加标志#define includeMyLib



文章来源: conditional compliation based on variable into makefile