无法在Cygwin中使用#include 编译C代码
我试图使用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 #include int main (void) { return 0; }
这不编译,错误sys/times.h no such file or directory
。 即使我将include更改为或
也会发生这种情况。 在Cygwin命令中,adv
/usr/include/sys/times.h
正常工作。
题
我如何获得sys / times.h的可用性和存在感? 我可以安装包或库吗?
您的代码在我的Cygwin上编译没有任何问题。 实际上/usr/include
是gcc的默认包含搜索路径之一,所以通常gcc应该能够找到sys/times.h
。
也许你正在使用MinGW版本的gcc而不是Cygwin gcc? 尝试使用which gcc
来确保它是/usr/bin/gcc
,还有gcc --version
以确保它不像mingw32-gcc.exe (GCC) xxx
那样显示。
您还可以尝试使用详细输出编译C文件:
gcc -v test.c
它显示了gcc如何搜索包含文件。 如果你使用Cygwin的gcc, /usr/include
应该是搜索路径列表之一。
正如我发现的那样,这个问题似乎存在一些内在问题,并且sys / times.h不应该在windows下使用(由于某种原因不支持)。
正如我在这里提到的那样,它的使用实际应该从代码中删除以使其编译。