Compiler sous Windows pour Linux

Compiler sous Windows pour Linux - Divers - Programmation

Marsh Posté le 17-09-2007 à 12:06:42    

Bonjour,
 
Je suis actuellement en train de développer un application c++/c multi-plateforme (Windows CE, Windows 2000 et Linux) et je voudrais savoir s'il est possible de compiler la version Linux sous Windows, c'est à dire sans rebooter sur une partition Linux parce que je souhaiterais automatiser la génération de tous les exécutables.
Est-ce que Cygwin le permet et si oui, comment faire ?
 
Merci

Reply

Marsh Posté le 17-09-2007 à 12:06:42   

Reply

Marsh Posté le 17-09-2007 à 17:30:30    

Je viens de compiler avec gcc sous cygwin le code suivant:

Code :
  1. #include <stdio.h>
  2. int main (void)
  3. {
  4.         printf("test" );
  5.         return 0;
  6. }


 
Grace à cette ligne de commande:

Code :
  1. gcc ess.c -o res.exe


 
Et ca s'éxécute bien sous cygwin. Quand je veux l'éxécuter sous windows ça me dit qu'il manque une dll de gywin pour fonctionner. Sous linux ce n'est pas reconnu comme fichier bianire valide.
Le gcc de cygwin génère donc bien du binaire windows qui utilise des dll popres à cygwin pour fonctionner.
Vala, donc avec cygwin et en utilisant cette approche simpliste ça marche pas. Regarde pê dans les options de gcc.

Reply

Marsh Posté le 17-09-2007 à 19:55:01    

Ce que tu cherches a faire, ca s'appelle de la cross compilation. Tu veux donc un compilateur vers Linux et qui tourne sous Windows. Cygwin ne le permet pas directement, il te faut recompiler gcc avec les options qui vont bien (au moment du ./configure). Il existe des tutoriaux la dessus, car c'est loin d'etre gagne du premier coup...

Reply

Marsh Posté le 18-09-2007 à 17:26:23    

Où puis-je trouver ces tutoriaux ???

Reply

Marsh Posté le 18-09-2007 à 19:17:20    

google("cross compiler tutorial" )

Reply

Marsh Posté le 19-09-2007 à 11:54:53    

Je profite de ce sujet pour y ajouter une question...
 
Je travaille régulièrement sur un programme écrit en C et C++.
J'utilise Visual Studio 2005 pour développer et compiler.
Cependant, le programme est aussi bien écrit pour Linux, Mac, AmigaOS, etc.
 
Existe-t-il des modules permettant de sélectionner une plateforme alternative dans Visual Studio 2005 ? C'est à dire, sans sortir de VS, passer par un compilateur externe, capable de faire d'autres versions.
 
VS prévoit la choix de la plateforme (par exemple, un projet PocketPC permettra de compiler pour différences version de Windows Mobile) et différents CPU (sur un Win64, on peut compiler aussi bien pour Win32 que pour Win64).
 
Du coup j'espère naïvement qu'un outils existe et permet d'ajouter d'autres plateformes (?)
 
Si c'est pour passer par un truc externe, c'est inutile, je démarre ma Debian dans mon Virtual PC et c'est bon... C'est juste que c'est chiant de ne pas pouvoir le faire directement dans VS.


Message édité par MagicBuzz le 19-09-2007 à 11:55:46
Reply

Marsh Posté le 19-09-2007 à 18:59:14    

Même si j'ai comme un léger parti pris, je pense que compiler des exécutables windows sans quitter linux est plus simple que l'inverse. Je vous conseille plutôt de faire dans ce sens là.

Reply

Marsh Posté le 19-09-2007 à 19:04:07    

Sauf que je développe sous Windows, et je vois pas d'un très bon oeil de devoir passer sous Linux chaque fois que je veux faire des tests unitaires...
 
M'enfin bon, oi c'est juste "au cas où ça existe"... La plupart du temps je me contente de distribuer un fichier *.patch avec le binaire Win32 pour que ceux qui utilisent une autre plateforme compilent eux-même mes modifs ;)

Reply

Marsh Posté le 20-09-2007 à 23:11:53    

J'ai trouvé un outil qui s'appel 'crosstool', est ce que quelqu'un l'a déjà utilisé, est ce qui peut me permettre de faire ce que je veux ?

Reply

Sujets relatifs:

Leave a Replay

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