我试图使用Cygwin在Windows 7中安装/编译诸如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”次“函数不是ANSI标准的一部分,并且在Mingw32运行时不存在”
作为一个实验,我尝试使用gcc:
在Cygwin中编译这个C代码#include <stdio.h>
#include <sys/times.h>
int main (void)
{
return 0;
}
这不会编译,错误为sys/times.h no such file or directory
。即使我将包含更改为</usr/include/sys/times.h>
或<usr/include/sys/times.h>
,也会发生这种情况。在Cygwin命令中,Promot /usr/include/sys/times.h
正常工作。
问题
如何获得sys / times.h的可用性和存在感?我可以安装一个包或库吗?
答案 0 :(得分:5)
您的代码在我的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如何搜索包含文件。如果您使用Cygwin的gcc,/usr/include
应该是搜索路径列表之一。
答案 1 :(得分:2)
正如我发现的那样,这个问题似乎存在一些内在问题,并且sys / times.h不应该在windows下使用(由于某种原因不支持)。
正如我前面提到的那样here,实际上应该从代码中删除它以使其编译。