在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.h
和cygwin/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术语。
经过多次调查,问题结果是:
- MinGW没有sys / times.h。
- Cygwin有它,但我的Cyqwin在我的python目录中使用gcc,这是MinGW的gcc。
这是在尝试解决另一个问题时发现的:
无法在Cygwin中使用#include
事实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代码分支。