Installation / compilation dans Cygwin / MinGW – Comment définir le “chemin” de l’inclusion? (lien symbolique?)

J’ai essayé d’installer / comstackr des bibliothèques C dans Windows 7 à l’aide de Cygwin et MinGW. Cependant, je reçois des erreurs comme celles-ci lors de la make :

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

Auparavant, je pensais que cela pourrait poser un problème avec les bibliothèques spécifiques et posai la question ici: Divers problèmes lors de l’installation d’igraph dans Visual Studio 2010 et Cygwin / MinGW (“sys / time.h introuvable”) , mais après avoir rencontré la même erreur avec différentes bibliothèques, Je pense que le problème est de mon côté.

Tentative

cygwin/usr/include/sys/times.h et cygwin/usr/include/sys/resource.h existent. Après avoir obtenu des conseils sur les liens symboliques, j’ai utilisé ln -s /usr/include/sys sys pour vérifier que sys/times.h fonctionnait.

Je suis allé regarder la sortie pour une bibliothèque spécifique (igraph). Il dit qu’il est entré dans un dossier “src”. Alors, je suis allé dans le dossier src et j’ai fait la même chose: ln -s /usr/include/sys sys et je me suis assuré que sys/times.h fonctionnait également dans le dossier src.

Cependant, je reçois toujours:

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

Question

Comment définir le “chemin” de make pour trouver ‘sys / times.h’ ou d’autres fichiers dans le dossier / usr / include / sys? Qu’est-ce que j’oublie ici?

PS

S’il vous plaît supporter avec moi car je suis généralement un utilisateur Windows et ne sont pas familiers avec la terminologie Linux.

Après de nombreuses enquêtes, le problème s’est avéré être le suivant:

  1. MinGW n’a pas sys / times.h.
  2. Cygwin l’a, mais mon Cyqwin utilisait le gcc dans mon répertoire python, qui est le gcc de MinGW.

Ceci a été découvert en essayant de résoudre un autre problème ici:

Impossible de comstackr le code C avec #include dans Cygwin

Il s’avère donc que mon problème n’a rien à voir avec le chemin d’inclusion ou la création de liens symboliques, mais plutôt avec la version / type de gcc erronée. Cela m’a échappé parce que j’exécutais une nouvelle installation de Cygwin et que je ne savais pas qu’elle utiliserait automatiquement le gcc de MinGW dans mon dossier Python.

voir http://mail.kde.org/pipermail/kde-windows/2006- May/000194.html comme on dit même si times.h y est placé, ses fonctions ne peuvent pas être mises en œuvre par mingw

lors de l’exécution de ./configure, je reçois ce message (difficile à remarquer) http://soffr.miximages.com/c/2q80pzk.png

Alors, essayez d’abord de copier le times.h puis utilisez ./configure et voyez si cette erreur n’est pas là

Construisez libigraph avec minGW sans avoir “sys / times.h”

Cela peut être intéressant pour tout le bâtiment “igraph” et ne veut pas le créer avec “cygwin” mais avec “mingw”.

Dans mon environnement “msys / mingw”, j’ai mon répertoire “source”. “C: \ msys \ 1.0 \ src”.
igraph dir. == C: \ msys \ 1.0 \ src \ igraph-0.6

  • Exécutez c: \ msys \ 1.0 \ msys.bat
  • cd à la racine supérieure cd /
  • cd to igraph cd usr / src / igraph-0.6
    Remarque: Il n’y a pas de dossier usr dans C: \ msys \ 1.0 \ . Attention, ne créez pas de dossier usr !!!
  • Tapez ./configure Maintenant, le shell msys ressemble à quelque chose comme

Administrateur @ drserver-p /usr/src/igraph-0.6
$ ./configurer

  • appuyez sur “Entrée”

ça prend du temps.

Changement de fichiers.

  • allez igraph-0.6 \ src
  • Ouvrez avec Notepadd ++ ou un autre éditeur le “Makefile”
    Allez à la ligne 832 ou recherchez libf2c_la_CFLAGS =
    Mettez -DUSE_CLOCK après libf2c_la_CFLAGS =
    Maintenant, cela ressemble à libf2c_la_CFLAGS = -DUSE_CLOCK -DSkip_f2c_Undefs ….
  • Ouvrez igraph-0.6 \ src \ f2c \ uninit.c
  • Aller à la ligne 182 ou recherche pour _control87 (EM_DENORMAL
    commentez cette ligne / * _control87 (EM_DENORMAL ….. * /
  • Ouvrez igraph-0.6 \ src \ f2c \ s_paus.c
    Allez à la ligne 84 ou recherchez une pause ();
    commentez cette ligne / * pause (); * /

  • Tapez make Maintenant, le shell msys ressemble à quelque chose comme

Administrateur @ drserver-p /usr/src/igraph-0.6
$ make

  • appuyez sur “Entrée”

Si cela fonctionne, cela prend environ 1 heure!

vous devriez vérifier votre makefile, le fichier CFLAGS / CPPFLAGS contient -DWIN32 -D_WINDOWS pour Windows. En d’autres termes, vous ne devriez jamais accéder à la twig de code sys / times sur Windows.