在Windows下访问Gnu C库

时间:2009-06-17 16:07:42

标签: c windows include

我正在尝试使用Windows命令行中的cl.exe编译我从网上下载的C程序。此文件包含gnu C库文件,例如getopt.h和unistd.h,这些文件在Windows下默认不可用。如何访问这些(仍然使用cl.exe编译器)。

感谢。

6 个答案:

答案 0 :(得分:3)

getopt.h和unistd.h不是库 - 它们是头文件。即使你拥有它们,它们对你也没用,因为你还需要实际的二进制库(.LIB或.a文件)。顾名思义,unistd.h文件包含特定于Unix的函数声明。

答案 1 :(得分:3)

对于getopt.h,您可以使用xgetopt。如果您对更改编译器感兴趣,总会有MingW。否则,您可能必须编写自己的getopt.h或unistd.h。

答案 2 :(得分:3)

文件getopt.h和unistd.h是头文件。最好使用像MINGW32这样的gnu兼容编译器。由于替换此文件通常不足以让您的库在Windows编译器下编译和运行。如果您仍想使用cl.exe,请将“unistd.h”替换为“windows.h”,并从互联网上获取win32兼容的“getopt”。

答案 3 :(得分:2)

始终cygwin - 使用包含文件并与cygwin1.dll库链接,此处为FAQ条目。

答案 4 :(得分:1)

来自MinGW

getopt.c将非常简单地移植到MS C(我已经使用VS2005完成了此操作)。您可以从MinGW网站获取。 This Stackoverflow posting讨论了在MS C编译器上替换unistd.h

答案 5 :(得分:0)

unistd.h是standard C include file。如果您使用的任何编译器都没有提供它,我会感到震惊。你确定不存在吗?