[C++/Makefile] Compilation sous windows

Compilation sous windows [C++/Makefile] - C++ - Programmation

Marsh Posté le 07-10-2009 à 15:19:00    

Bonjour,
 
je travaille sur un gros projet en C/C++ sous linux, et je compile avec des makefile.
Je dois compiler ce projet sous windows afin de pouvoir distribuer les binaires.
 
Mon problème général : Comment compiler un gros projet fondé sur des Makefile, sous windows ?
* On m'a recommandé d'utiliser Cygwin, mais j'ai de nombreux problèmes avec celui-ci  
(sous gcc4 mes codes compilent mais plantent à l'execution, et l'option -mno-cygwin n'est plus reconnue et je ne suis pas trop pour une compilation sous gcc3)
* L'autre possibilité à laquelle j'ai pensé est d'utiliser un IDE style CodeBlocks, qui sait lire les Makefile, et compiler avec minGW ce qui évite de passer par les librairies Cygwin.
Le problème est que les Makefile windows et linux ne sont pas identiques (rm -> del, ...)
Dans mon Makefile principal, il y a beaucoup de boucles for, et je ne sais pas comment les traduire en DOS :

Code :
  1. lib:
  2. @for i in $(LIBRARIES);\
  3. do (cd $$i; \
  4.     echo === making $$i ===;\
  5.     $(MAKE) all); \
  6. done


Donc mon problème du moment : comment faire une boucle for dans un Makefile windows ?
 
Pour mon problème général, si quelqu'un a des expériences dans ce domaine (port linux->windows), je suis intéressé.
 
Merci

Reply

Marsh Posté le 07-10-2009 à 15:19:00   

Reply

Marsh Posté le 07-10-2009 à 15:55:28    

1/ Qu'est-ce qui t'empeche d'utiliser le gcc de minGW avec cygwin?
2/ [i]a priori[/a], utiliser cygwin te donne un shell unix, donc tu devrais avoir les commandes dont tu as besoin


---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Marsh Posté le 07-10-2009 à 16:05:26    

1/ [edit] Je viens d'essayer, ca plante à la compilation, sans message d'erreur autre que "Error 1". J'avais fait un lien ln -s /cygdrive/c/mingw/mingw32-g++.exe g++. Mais je ne sais pas si une version installée sous windows peut être interprétée par cygwin...
2/ Oui, c'est un shell unix, le problème des boucles for est dans le cas où je n'utilise pas cygwin mais un IDE windows. (Makefile interprété par l'IDE, pas par cygwin)


Message édité par DarWog le 07-10-2009 à 16:22:40
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed