4

我试图在 Windows 7 中使用 Cygwin 安装/编译 igraph 和 SNAP 等库(也尝试过 MinGW-MSYS),但遇到了一些问题。

我想我已经把问题缩小到了这个错误./configure

checking sys/times.h usability... no
checking sys/times.h presence... no
checking for sys/times.h... no

在 Cygwin 中,/usr/include/sys/times.h确实存在。我为 MinGW 搜索了这个,似乎 sys/times.h 不适用于 MinGW,因为“ POSIX/BSD“times”函数不是 ANSI 标准的一部分,并且在 Mingw32 运行时不存在”。

作为一个实验,我尝试在 Cygwin 中使用 gcc 编译这个 C 代码:

#include <stdio.h>
#include <sys/times.h>

int main (void) 
{

      return 0;
}

这不编译,错误sys/times.h no such file or directory。即使我将 include 更改为</usr/include/sys/times.h>or也会发生这种情况<usr/include/sys/times.h>。在 Cygwin 命令中,promot/usr/include/sys/times.h工作正常。

问题

如何获得 sys/times.h 的可用性和存在性?有我可以安装的包或库吗?

4

3 回答 3

6

您的代码在我的 Cygwin 上编译没有问题。实际上/usr/include是 gcc 的默认包含搜索路径之一,因此通常 gcc 应该能够找到sys/times.h.

也许您使用的是 MinGW 版本的 gcc 而不是 Cygwin gcc?尝试which gcc确保它是/usr/bin/gcc,并gcc --version确保它不显示为mingw32-gcc.exe (GCC) x.x.x

您还可以尝试使用详细输出编译您的 C 文件:

gcc -v test.c

它显示了 gcc 如何搜索包含文件。/usr/include如果您使用 Cygwin 的 gcc,则应该是搜索路径列表之一。

于 2012-10-05T16:36:15.073 回答
2

正如我发现的那样,这个问题似乎存在一些内在问题,并且 sys/times.h 不应该在 windows 下使用(由于某种原因不支持)。

正如我在这里提到的,它的使用实际上应该从代码中删除以使其编译。

于 2013-03-02T18:05:34.553 回答
0

我有同样的问题。删除文件夹 C:\cygwin64 。重新安装cygwin。选择所有默认值,但是当您进入“选择软件包”时,请确保一一搜索并选择以下内容: binutils , make , gcc-g++ 。对于每一个,选择下拉列表并将“跳过”表格更改为最新版本。继续,直到完成安装。从那里开始,一切都对我有用。

于 2021-08-29T23:55:57.640 回答