代码之家  ›  专栏  ›  技术社区  ›  Jacob Lyles

在Windows下访问GNU C库

  •  0
  • Jacob Lyles  · 技术社区  · 17 年前

    我正在尝试编译一个C程序,我在Windows的命令行使用cl.exe从Internet下载了这个程序。此文件包括GNU C库文件,如getopt.h和unistd.h,在Windows下默认不可用。如何访问这些文件(同时仍然使用cl.exe编译器)。

    谢谢。

    6 回复  |  直到 14 年前
        1
  •  3
  •   bill    17 年前

    getopt.h和unistd.h文件是头文件。最好使用与GNU兼容的编译器,如mingw32。因为替换这些文件通常不足以让库在Windows编译器下编译和运行。如果您仍然想使用cl.exe,则将“unistd.h”替换为“windows.h”,并从Internet获取与win32兼容的“getopt”。

        2
  •  3
  •   anon    17 年前

    getopt.h和unistd.h不是库——它们是头文件。即使你有了它们,它们对你也毫无用处,因为你还需要实际的二进制库(.lib或.a文件)。如其名称所示,unistd.h文件包含特定于unix的函数声明。

        3
  •  3
  •   Andrew    17 年前

    对于getopt.h,您可以使用 xgetopt . 如果您对更改编译器感兴趣,那么总是会有mingw。否则,你可能需要写自己的getopt.h或unistd.h。

        4
  •  2
  •   Nikolai Fetissov    17 年前

    总有 cygwin -使用包含文件并链接到 cygwin1.dll 图书馆,这是他们的 FAQ 进入这一点。

        5
  •  1
  •   Community Mohan Dere    9 年前

    getopt.c MinGW 将相当琐碎地移植到MS C(我用VS2005完成了这项工作)。你可以从Mingw网站上找到它。 This Stackoverflow posting 讨论替换 unistd.h 在MS C编译器上。

        6
  •  0
  •   ysth    17 年前

    美国独立学院 standard C include file . 如果您使用的编译器没有提供它,我会感到震惊。你确定没有吗?