2016-04-15 46 views
0

我想在Windows上编译一些东西。有几行:gcc,编译,NO_GLIBC为假

#ifdef NO_GLIBC 
#include "getopt/getopt.h" 
#else 
#include "sys/utsname.h" 
#endif 

然后它失败,说“utsname.h”丢失。这就对了,因为它不是Windows的东西。所以不知怎的,我必须让NO_GLIBC成为真实,如何做到这一点?

编辑:伊夫在C,林从未编程的PHP,Delphi的专家

+1

您不必使它成真,你只需要定义它。 '#ifdef' =“如果已定义”。 – davmac

+1

问题是,你有getopt/getopt.h吗?否则,你可能需要围绕你的代码进行另一级的条件编译。 –

+0

@JoachimPileborg我确实有这个文件 –

回答

1

可以与给予的gcc -D标志,例如定义NO_GLIBC宏

gcc -DNO_GLIBC=1 -c foo.c -o foo.o