2016-04-15 50 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