2012-10-05 88 views
5

我一直在嘗試使用Cygwin和MinGW在Windows 7中安裝/編譯C庫。不過,我在make得到這樣的錯誤:在Cygwin/MinGW中安裝/編譯 - 如何設置包含「路徑」? (符號鏈接?)

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

我以前想這可能是與特定庫問題,在這裏問:Various issues installing igraph in Visual Studio 2010 and Cygwin/MinGW ("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 「路徑」 找到 'SYS/times.h' 或其他文件在/ usr/include/sys文件夾?我在這裏錯過了什麼?

P.S.

請耐心等待,因爲我通常是Windows用戶,不熟悉Linux術語。

回答

4

經過大量調查後,問題變成了是:

  1. MinGW沒有sys/times.h。
  2. Cygwin有它,但我的Cyqwin使用我的python 目錄中的gcc,這是MinGW的gcc。

這被發現,同時努力解決這裏的另一個問題:

Cannot compile C code with #include <sys/times.h> in Cygwin

所以,事實證明,我的問題無關,與包括路徑或製作符號鏈接,而是相反, gcc版本/類型是錯誤的。這個事實讓我感到困惑,因爲我正在運行一個Cygwin的乾淨安裝,並不知道它會自動在我的Python文件夾中使用MinGW的gcc。

1

看到http://mail.kde.org/pipermail/kde-windows/2006-May/000194.html ,因爲他們說即使times.h放有它的功能可能無法通過MinGW的

運行./configure時,我得到這個(其難以察覺) http://i49.tinypic.com/2q80pzk.png

實施

所以首先嚐試複製times.h,然後使用的./configure,看看這個錯誤是不是有

+0

試過這個。 「致命錯誤:sys/times.h:沒有這樣的文件或目錄」再次。 :( – Legendre

+0

關於你的最新建議:MSYS的根目錄似乎是C:\ MinGW \ msys \ 1.0,並且沒有辦法再回到這個位置了,1.0或其任何子文件夾中都有「sys」文件夾。我不確定現在要在該線程中執行「make -I \ path \ sys」。此外,我嘗試在Cygwin和MinGW中運行「make -I \ usr \ include \ sys」,但仍然得到相同的「 sys \ times.h沒有這樣的文件或目錄「的問題 – Legendre

+0

試圖複製times.h到C:MinGW \ include但是./configure仍然說sys/times.h可用性...不存在...不是。是爲了得到sys/times.h,可能獲得/安裝sys文件中的東西? – Legendre

0

構建libigraph使用MinGW,而無需「SYS/times.h」

這可能是所有建築「的igraph」有趣的,不想用「的cygwin」,但與「MinGW的」創建。

在我的「msys/mingw」環境中,我在「C:\ msys \ 1.0 \ src」目錄中有我的「源代碼」。
igraph dir。 == C:\ MSYS \ 1.0 \ SRC \的igraph-0.6

  • 運行C:\ MSYS \ 1.0 \ msys.bat
  • CD頂端根坎德拉/
  • cd到的igraph CD usr/src目錄/ IGRAPH-0.6
    注:有在C中沒有USR文件夾:\ MSYS \ 1.0 \。小心不要創建一個usr文件夾!
  • 類型的./configure現在MSYS殼看起來像

管理員@ drserver-P /usr/src/igraph-0.6
$的./configure

  • 點擊「Enter」

它需要一個wh ILE。

更改文件。

  • 轉到的igraph-0.6 \ SRC
  • 打開與Notepadd ++或其他編輯器的「生成文件」
    轉到線832或搜索libf2c_la_CFLAGS =
    -DUSE_CLOCKlibf2c_la_CFLAGS =
    現在看起來像libf2c_la_CFLAGS = -DUSE_CLOCK -DSkip_f2c_Undefs ....
  • 開放的igraph-0.6的\ src \ F2C \ uninit.c
  • 轉到182線或檢索算法爲_control87(EM_DENORMAL
    評論這一行/* _control87(EM_DENORMAL ..... */
  • 打開igraph-0.6 \ src \ f2c \ s_paus。c
    轉到第84行或搜索pause();
    評論此行/* pause(); */

  • 類型使現在MSYS殼看起來像

管理員@ drserver-P /usr/src/igraph-0.6
$使

  • 點擊「Enter」

如果有效,大約需要1小時!