2012-10-05 2 views
5

Ich habe versucht, C-Bibliotheken in Windows 7 mit Cygwin und MinGW zu installieren/kompilieren. Ich bin jedoch Fehler wie diese während make bekommen:Installation/Kompilierung in Cygwin/MinGW - Wie wird der Include "Pfad" eingestellt? (symbolische Verbindung?)

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

Ich dachte vorher könnte es ein Problem mit den spezifischen Bibliotheken und fragte sich hier: Various issues installing igraph in Visual Studio 2010 and Cygwin/MinGW ("sys/time.h not found"), aber nach den gleichen Fehler mit verschiedenen Bibliotheken zu begegnen, ich glaube, das Problem liegt an meinem Ende.

Versuch

cygwin/usr/include/sys/times.h und cygwin/usr/include/sys/resource.h existiert. Nachdem ich einen Hinweis bezüglich symbolischer Links bekommen habe, habe ich ln -s /usr/include/sys sys verwendet, um sicherzustellen, dass sys/times.h funktioniert.

Ich ging, um den make Ausgang für eine bestimmte Bibliothek (Iigraph) zu sehen. Es sagt, dass es einen "src" -Ordner eingegeben hat. Also, ich ging in den Ordner Src und tat das gleiche: ln -s /usr/include/sys sys und dafür gesorgt, dass sys/times.h arbeitete auch im Ordner Src.

Aber ich bin immer noch:

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

Frage

Wie kann ich den "Weg" für make 'sys/times.h' oder andere Dateien in dem Verzeichnis/finden usr/include/sys Ordner? Was fehlt mir hier?

P.S.

Bitte tragen Sie mit mir, da ich in der Regel ein Windows-Benutzer und nicht vertraut mit Linux-Terminologie bin.

Antwort

4

nach vielen Untersuchungen nicht da ist, das Problem, dass entpuppte:

  1. MinGW hat keine sys/times.h.
  2. Cygwin hat es, aber mein Cyqwin benutzte das gcc in meinem python Verzeichnis, welches MinGWs gcc ist.

Dieser entdeckt wurde beim Versuch, ein anderes Problem hier zu lösen:

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

So stellt sich heraus, dass mein Problem nichts mit dem Include-Pfad oder machen symbolische Links zu tun hatte, sondern die GCC Version/Typ war falsch. Diese Tatsache konnte ich nicht nachvollziehen, da ich eine Neuinstallation von Cygwin durchführte und nicht wusste, dass sie automatisch den gcc von MinGW in meinem Python-Ordner verwenden würde.

1

siehe http://mail.kde.org/pipermail/kde-windows/2006-May/000194.html wie sie sagen, auch wenn die times.h dort gesetzt wird seine Funktionen nicht von mingw

implementiert werden, wenn ./configure ich erhalte diese (seine schwer zu bemerken) http://i49.tinypic.com/2q80pzk.png

so versuchen Sie zuerst die times.h Kopieren und dann configure verwenden und sehen, ob dieser Fehler

+0

Versucht dies. "fataler Fehler: sys/times.h: Keine solche Datei oder kein Verzeichnis" erneut. :( – Legendre

+0

In Bezug auf Ihren letzten Vorschlag: Das Stammverzeichnis von MSYS scheint C: \ MinGW \ msys \ 1.0 zu sein und es gibt keine Möglichkeit, weiter zurück zu gehen. Es gibt den Ordner "sys" in 1.0 oder einem seiner Unterordner. Ich bin mir jetzt nicht sicher, ob ich einen "make -I \ path \ sys" wie in diesem Thread machen könnte. Außerdem habe ich versucht, "make -I \ usr \ include \ sys" sowohl in Cygwin als auch in MinGW auszuführen, aber immer noch dasselbe " sys \ times.h keine solche Datei oder Verzeichnis "Problem. – Legendre

+0

Versuchte Kopieren times.h zu C: MinGW \ include aber ./configure sagt immer noch sys/times.h Benutzerfreundlichkeit ... nein und Präsenz ... nein. Ist es möglich, um das Zeug in "sys" richtig zu erhalten/zu installieren, um sys/times.h zu bekommen? – Legendre

0

Bauen libigraph mit mingw ohne „sys/times.h“ mit

, die für alle Gebäude „IGRAPH“ interessant sein kann und will es nicht schaffen, mit „Cygwin“, sondern mit „mingw“ .

In meiner "msys/mingw" -Umgebung habe ich meinen "Quellcode" in. "C: \ msys \ 1.0 \ src" -Verzeichnis.
Inschrift dir. == C: \ msys \ 1.0 \ src \ IGRAPH-0,6

  • Run c: \ msys \ 1.0 \ msys.bat
  • CD nach oben root cd/
  • cd zu IGRAPH cd usr/src/IGRAPH-0,6
    Hinweis: Es gibt keine usr Ordner in C: \ msys \ 1.0 \. Passen Sie auf, dass Sie keinen usr Ordner erstellen !!!
  • Typ configure Jetzt Shell die msys Blick etwas wie

Administrator @ drserver-p /usr/src/igraph-0.6
$ configure

  • hit "Enter"

es dauert ein wh Ile.

Änderung der Dateien.

  • goto IGRAPH-0.6 \ src
  • Öffnen mit Notepadd ++ oder einem anderen Editor die "Makefile"
    Goto Linie 832 oder nach libf2c_la_CFLAGS =
    Put -DUSE_CLOCK nach libf2c_la_CFLAGS =
    Jetzt sieht es aus wie libf2c_la_CFLAGS = -DUSE_CLOCK-DSkip_f2c_Undefs ....
  • öffnen IGRAPH-0.6 \ src \ f2c \ uninit.c
  • Gehe zu Zeile 182 oder serach für _control87 (EM_DENORMAL
    Kommentar diese Zeile /* _control87 (EM_DENORMAL ..... */
  • Geöffnet ıigraph-0.6 \ src \ f2c \ s_paus.c
    Gehe zu Zeile 84 oder suche nach pause();
    kommentieren Sie diese Zeile /* pause(); */

  • Typ machen Nun sind die msys Blick etwas wie

Administrator @ drserver-p /usr/src/igraph-0.6
$

machen shell
  • drücken Sie "Enter"

Wenn es funktioniert, dauert es etwa 1 Stunde!

Verwandte Themen