Cross compilateur

Cross compilateur - C - Programmation

Marsh Posté le 29-04-2004 à 17:00:10    

Bonjour,
 
Mon problème n'est pas trés compliquer mais la solution l'ai beaucoup plus:
 
Comment faire pour compiler sous Linux (de préférence un fichier *.c) et obtenir un *.exe utilisable sous Windows?

Reply

Marsh Posté le 29-04-2004 à 17:00:10   

Reply

Marsh Posté le 29-04-2004 à 17:12:56    

Avec Wine ? :)

Reply

Marsh Posté le 29-04-2004 à 17:34:46    

doit bien y avoir une option à la con de gcc qui fait ça non?

Reply

Marsh Posté le 29-04-2004 à 17:41:00    

avec wine j'ai pas trouver. J'ai meme essayer wine+devcpp mais j'obtient quand meme un Elf.
Apparemment, il faut compiler le fichier c en fichier objet (avec gcc ) mais aprés il faut un linker qui soit capable de faire la liaison avec les lib Win (ld ne doit pas savoir le faire).

Reply

Marsh Posté le 29-04-2004 à 17:44:20    

Peut-être ici?
http://www.informit.com/articles/a [...] 75&redir=1
 
[edit]
J'ai rien dit c'est pas ça...


Message édité par skeye le 29-04-2004 à 17:45:50
Reply

Marsh Posté le 29-04-2004 à 17:45:03    

les seuls cross-compiler dont j'ai entendu parlé étaient payants et ... experimentaux [:spamafote]

Reply

Marsh Posté le 29-04-2004 à 17:49:17    

Y'a des mazo qd même

Reply

Marsh Posté le 29-04-2004 à 17:51:57    

Effectivement là c'est pas gagné...
Mais pourquoi pas le faire bêtement depuis un windows + dev cpp ?


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 29-04-2004 à 18:03:23    

TotalRecall a écrit :

Effectivement là c'est pas gagné...
Mais pourquoi pas le faire bêtement depuis un windows + dev cpp ?


Tout simplement parce que je n'ai pas toujours Win sous la main (j'ai essayer d'installer win98 mais j'ai pas réussi et je n'est pas assez de RAM pour XP).

Reply

Marsh Posté le 29-04-2004 à 18:11:23    

Moi j'ai une autre question : que vas-tu faire de cet exe sous Linux ?

Reply

Marsh Posté le 29-04-2004 à 18:11:23   

Reply

Marsh Posté le 29-04-2004 à 18:24:18    

HelloWorld a écrit :

Moi j'ai une autre question : que vas-tu faire de cet exe sous Linux ?


Ba je vai l'éxécuter avec Wine...!
Non c'est pour un projet sous windows mais j'aimerai bien pouvoir le developper sur mon ordi (qui est sous linux).

Reply

Marsh Posté le 29-04-2004 à 18:25:30    

gege2061 a écrit :

Ba je vai l'éxécuter avec Wine...!
Non c'est pour un projet sous windows mais j'aimerai bien pouvoir le developper sur mon ordi (qui est sous linux).


bah tu compiles sous dev-cpp une fois de temps en temps pour vérifier que tout va bien, et basta, non?

Reply

Marsh Posté le 29-04-2004 à 19:41:03    

Tu utilises quelles libs ?

Reply

Marsh Posté le 29-04-2004 à 19:57:18    

ça ne t'aidera peut être pas, mais j'avais trouvé (et bcp utilisé) un cross-compilateur gcc il y a 5/6 ans qui tournait sous dos pour générer du code pour 6811.
J'avais fait mes recherches à par de DJGPP...
 
Sait-on jamais...


Message édité par christophe_d13 le 29-04-2004 à 19:59:02
Reply

Marsh Posté le 29-04-2004 à 21:12:00    

moktar1er a écrit :

les seuls cross-compiler dont j'ai entendu parlé étaient payants et ... experimentaux [:spamafote]


 
et codewarrior pour générer dex éxécutables de consoles de jeux, c'est expérimental?  :lol:


Message édité par schnapsmann le 29-04-2004 à 21:12:24

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 29-04-2004 à 23:09:28    

schnapsmann a écrit :

et codewarrior pour générer dex éxécutables de consoles de jeux, c'est expérimental?  :lol:


 
je te parle de compilo linux->windows  :heink:  
sinon gcc fait des trucs énormes, y compris pondre des exe pour d'autres proc pour systèmes embarqués etc.

Reply

Marsh Posté le 26-06-2004 à 21:33:36    

Je n'ai pas de lien sous la main mais un petit coup de google avec mingw (ou mingw32) cross compiler devrait aider. Si cygwin est installé sur windows alors faut chercher cygwin plutot que mingw cross compiler ;) Y'a un script build-cross.sh qui traine je sais plus où (c'est un site où y'a 4 ou 5 étapes) qui marche très bien, il fait tout tout seul. Mais malheureusement j'ai pas ce script ni le site sous la main.

Reply

Marsh Posté le 26-06-2004 à 21:36:01    

Code :
  1. apt-cache show mingw32
  2. Package: mingw32
  3. Priority: optional
  4. Section: devel
  5. Installed-Size: 10944
  6. Maintainer: Ron Lee <ron@debian.org>
  7. Architecture: i386
  8. Version: 3.3.1.20030804.1-1
  9. Depends: mingw32-binutils, mingw32-runtime (>= 2.2), libc6 (>= 2.3.2-1)
  10. Filename: pool/main/m/mingw32/mingw32_3.3.1.20030804.1-1_i386.deb
  11. Size: 3774668
  12. MD5sum: cb528535b82d5906a0684ad3a1145567
  13. Description: Minimalist GNU win32 (cross) compiler
  14. A Linux hosted, win32 target, cross compiler for C/C++
  15. .
  16. Freedom through obsolescence.  Those who still really need to
  17. can now build windows executables from the comfort of Debian.
  18. .
  19. This package contains the C and C++ cross compilers

Reply

Marsh Posté le 28-06-2004 à 17:30:06    

Oh! ça fesait longtemps que je ne m'était pas préocuper de ç! mon projet est terminer mais mon problème est toujours d'actualité.
Je vais commencer par ratraper mon retard en répondant aux questions.

Citation :

Tu utilises quelles libs ?


Je programme en API win32 pure et en GTK (j'ai essayer dev-cpp/GTK sous windows mais je crois que je vais abandonner avant de d'être violant!)
Et pour ce qui est des réponses de CDr et Taz je vais voir mon vieux copain et je vous tien au courant.
 
Merci à tous pour vos reponses (et vos questions)

Reply

Marsh Posté le 28-06-2004 à 17:34:38    

CDr a écrit :

Y'a un script build-cross.sh qui traine je sais plus où


Trouver!! => http://www.libsdl.org/extras/win32/cross/README.txt pour ceux que ça intéressent

Reply

Marsh Posté le 28-06-2004 à 18:25:40    

Pour info j'ai réussi à faire le cross compiler avec gcc 3.4 et les derniers binutilss.
Pour ça il faut les runtime mingw et w32api déjà compilé. Ca donne un truc genre:
- detar de binutils
- configure de binutils avec --prefix (si nécessaire) et --target=i386-pc-mingw (mais y'a d'autres target possibles, je sais même pas comment ça marche précisément. le script utilise une target avec mingwmsvc dedans je crois).
- make && make install
- detar des runtimes mingw et w32 précompilés dans unrep
- detar de gcc
- configure de gcc avec --prefix et --target idem à au dessus, mais aussi --with-headers=monrep/include et --with-libs=monrep/lib (j'ai pas réussi avec --with-sysroot alors qu'en principe c'est la nouvelle méthode)
- make && make install
- éventuellement compiler w32api depuis les sources et installer
- éventuellement compiler mingw runtime depuis les sources (pour le problème de windows.h non trouvé, moi je copie le contenu de include des w32api dans celui de runtime et là ça passe)
- on va s'arrêter là je pense.
Désolé si c'est pas très clair

Reply

Marsh Posté le 24-08-2004 à 10:11:54    

salut, j'ai un problème pour installer glibc (pour mon cross compilo), est-ce que qqu'un aurait un bon site qui pourrait m'aidait?!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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