在Cygwin / MinGW中安装/编译 – 如何设置包含“路径”? (符号链接?)

我一直在尝试使用Cygwin和MinGW在Windows 7中安装/编译C库。 但是,我在make期间遇到这样的错误:

 sys/resource.h: No such file or directory sys/times.h: No such file or directory 

我之前认为这可能是特定库的一个问题,并在这里问: 在Visual Studio 2010和Cygwin / MinGW中安装igraph的各种问题(“sys / time.h not found”) ,但在遇到与不同库相同的错误后,我认为问题在于我。

尝试

cygwin/usr/include/sys/times.hcygwin/usr/include/sys/resource.h存在。 在获得有关符号链接的建议后,我使用了ln -s /usr/include/sys sys来确保sys/times.h有效。

我去看一个特定库(igraph)的make输出。 它说它进入了一个“src”文件夹。 所以,我去了src文件夹并做了同样的事情: ln -s /usr/include/sys sys并确保sys/times.h也在src文件夹中工作。

但是,我仍然得到:

 fatal error: sys/times.h: No such file or directory 

如何设置make的“路径”以在/ usr / include / sys文件夹中查找“sys / times.h”或其他文件? 我在这里想念的是什么?

PS

请耐心等待,因为我通常是Windows用户,不熟悉Linux术语。

经过多次调查,问题结果是:

  1. MinGW没有sys / times.h。
  2. Cygwin有它,但我的Cyqwin在我的python目录中使用gcc,这是MinGW的gcc。

这是在尝试解决另一个问题时发现的:

无法在Cygwin中使用#include 编译C代码

事实certificate,我的问题与包含路径或制作符号链接无关,而是gcc版本/类型错误。 这个事实让我望而却步,因为我正在运行一个干净的Cygwin安装,并且不知道它会在我的Python文件夹中自动使用MinGW的gcc。

请参阅http://mail.kde.org/pipermail/kde-windows/2006-May/000194.html正如他们所说,即使将time.h置于其中,其function也可能无法通过mingw实现

在运行时./configure我得到了这个(很难注意到) http://sofzh.miximages.com/c/2q80pzk.png

所以首先尝试复制times.h然后使用./configure并查看是否存在此错误

使用minGW构建libigraph而不使用“sys / times.h”

对于所有建筑“igraph”而言,这可能是有趣的,并且不想用“cygwin”创建它,而是用“mingw”创建它。

在我的“msys / mingw”环境中,我将“源代码”放在。“C:\ msys \ 1.0 \ src”目录中。
igraph目录。 == C:\ msys \ 1.0 \ src \ igraph-0.6

  • 运行c:\ msys \ 1.0 \ msys.bat
  • cd到顶级根cd /
  • cd到igraph cd usr / src / igraph-0.6
    注意: C:\ msys \ 1.0 \中没有usr文件夹。 小心不要创建一个usr文件夹!
  • 输入./configure现在msys shell看起来像

管理员@drserver -p /usr/src/igraph-0.6
$ ./configure

  • 点击“Enter”

这需要一段时间。

更改文件。

  • 转到igraph-0.6 \ src
  • 使用Notepadd ++或其他编辑器打开“Makefile”
    转到第832行或搜索libf2c_la_CFLAGS =
    libf2c_la_CFLAGS =之后放置-DUSE_CLOCK
    现在它看起来像libf2c_la_CFLAGS = -DUSE_CLOCK -DSkip_f2c_Undefs ….
  • 打开igraph-0.6 \ src \ f2c \ uninit.c
  • 转到第182行或serach_control87(EM_DENORMAL
    评论这一行/ * _control87(EM_DENORMAL ….. * /
  • 打开igraph-0.6 \ src \ f2c \ s_paus.c
    转到第84行或搜索pause();
    注释这一行/ * pause(); * /

  • 输入make现在msys shell看起来像

管理员@drserver -p /usr/src/igraph-0.6
$ make

  • 点击“Enter”

如果它工作,大约需要1个小时!

你应该检查你的makefile,CFLAGS / CPPFLAGS有-DWIN32 -D_WINDOWS for windows。 换句话说,您永远不应该访问Windows上的sys / times代码分支。