簡體   English   中英

在Cygwin / MinGW中安裝/編譯 - 如何設置包含“路徑”? (符號鏈接?)

[英]Installing/compiling in Cygwin/MinGW - How to set the include “path”? (symbolic link?)

我一直在嘗試使用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 <sys / times.h>編譯C代碼

事實證明,我的問題與包含路徑或制作符號鏈接無關,而是gcc版本/類型錯誤。 這個事實讓我失望,因為我正在運行Cygwin的干凈安裝,並且不知道它會在我的Python文件夾中自動使用MinGW的gcc。

請參閱http://mail.kde.org/pipermail/kde-windows/2006-May/000194.html正如他們所說,即使將time.h置於其中,其功能也可能無法通過mingw實現

在運行./configure我得到這個(很難注意到)

所以首先嘗試復制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代碼分支。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM