C获取代码中的编译选项

时间:2012-05-20 17:09:20

标签: c compilation dynamic-compilation

我正在为应用程序编写一个GUI,但主要的开发人员想要在Makefile中设置,如果GUI与其他人一起编译或不编译。我将所有GTK +代码放在一个单独的文件中,但是在主文件中我需要测试是否使用GUI编译应用程序,那么我该如何测试呢?

E.g:

if(COMPILED_WITH_GTK)
    #include "my_gtk_stuffs.h"

1 个答案:

答案 0 :(得分:2)

假设COMPILED_WITH_GTK是Makefile中编译器命令的参数(以-DCOMPILED_WITH_GTK的形式),则使用预处理器指令。

#ifdef COMPILED_WITH_GTK
#include "my_gtk_stuffs.h"
#endif

这告诉预处理器只在#include被定义时才处理COMPILED_WITH_GTK语句。

还要看看here