Language C ne fonctionne pas sur windows7 x64

Bonjour,

Je suis debutant en C
Sous linux x64, j'ai créer un simple code, pour effectuer un test sur windows.

#include<stdio.h>
int main(void){
 printf("bonjour - test language c\n");
}


puis je l'ai compilé en exe,
$ gcc -o  test.exe test.c; ./test.exe


Seulement je ne comprend pas pourquoi sous windows 7 x64 mon code ne fonctionne pas avec ms-dos ???
K:\Language_C>test
Cette version de K:\Language_C\test.exe n'est pas compatible avec la version de
Windows actuellement exécutée. Vérifiez dans les informations système de votre o
rdinateur si une version x86 (32 bits) ou x64 (64 bits) du programme est requise
, puis contactez l'éditeur de logiciel.

K:\Language_C>


Que dois je faire pour qu'il marche sous windows 7 x64 alors que mon code fonctionne avec linux x64 ???

Merci d'avance, cordialement.

2 réponses

  1. si c'est compilé sous linux, même si tu mets ".exe" a la fin, ça ne marche pas.
    pourquoi ? parce que gcc le compile pour linux (format ELF) et rien d'autre.

    pour faire un executable windows, soit tu le compile sous windows, sous tu fais de la cross-compilation sous linux (si je ne m'abuse, mingw32-gcc ou un truc comme ça)

    bref, fait une recherche google sur la cross compilation linux vers windows, tu devrais trouver ton bonheur ;-)
    0
    1. bonjour,

      j'ai installé mingw32-gcc
      [root@localhost language_C]# urpmi mingw32-gcc 
      Pour satisfaire les dépendances, les paquetages suivants vont être installés : 
       Paquetage                      Version      Révision      Dist  DEpoch Arch  
      (média « Main (Official2011.0-5) ») 
       python-magic                   5.07         1             mdv   2011.0 noarch  
      (média « Main32 (Official2011.0-7) ») 
       rpmlint                        1.2          2             mdv   2011.0 noarch  
      (média « Contrib (Official2011.0-15) ») 
       mingw32-binutils               2.19.1       3mdv2011.0                 x86_64  
       mingw32-cpp                    4.4.2        3mdv2011.0                 x86_64  
       mingw32-filesystem             49           3mdv2011.0                 noarch  
       mingw32-gcc                    4.4.2        3mdv2011.0                 x86_64  
       mingw32-runtime                3.15.2       3mdv2011.0                 noarch  
       mingw32-w32api                 3.13         3mdv2011.0                 noarch  
       python-enchant                 1.5.3        2mdv2011.0                 noarch (conseillé) 
       rpmlint-mandriva-policy        0.2.6        6             mdv   2011.0 noarch (conseillé) 
      un espace additionnel de 53Mo sera utilisé. 
      Procéder à l'installation des 10 paquetages ? (O/n) o 
      
      
          $MIRRORLIST: media/main/release/python-magic-5.07-1-mdv2011.0.noarch.rpm 
          $MIRRORLIST: media/main/release/rpmlint-1.2-2-mdv2011.0.noarch.rpm          
          $MIRRORLIST: media/contrib/release/mingw32-runtime-3.15.2-3mdv2011.0.noarch.rpm 
          $MIRRORLIST: media/contrib/release/mingw32-filesystem-49-3mdv2011.0.noarch.rpm 
          $MIRRORLIST: media/contrib/release/mingw32-w32api-3.13-3mdv2011.0.noarch.rpm 
          $MIRRORLIST: media/contrib/release/mingw32-binutils-2.19.1-3mdv2011.0.x86_64.rpm 
          $MIRRORLIST: media/contrib/release/mingw32-cpp-4.4.2-3mdv2011.0.x86_64.rpm  
          $MIRRORLIST: media/contrib/release/mingw32-gcc-4.4.2-3mdv2011.0.x86_64.rpm  
      installation de mingw32-runtime-3.15.2-3mdv2011.0.noarch.rpm mingw32-filesystem-49-3mdv2011.0.noarch.rpm mingw32-w32api-3.13-3mdv2011.0.noarch.rpm mingw32-gcc-4.4.2-3mdv2011.0.x86_64.rpm python-magic-5.07-1-mdv2011.0.noarch.rpm mingw32-cpp-4.4.2-3mdv2011.0.x86_64.rpm mingw32-binutils-2.19.1-3mdv2011.0.x86_64.rpm rpmlint-1.2-2-mdv2011.0.noarch.rpm depuis /var/cache/urpmi/rpms 
      Préparation ...                  ############################################# 
           1/10: rpmlint               ############################################# 
           2/10: mingw32-cpp           ############################################# 
           3/10: python-magic          ############################################# 
           4/10: mingw32-filesystem    ############################################# 
           5/10: mingw32-runtime       ############################################# 
           6/10: mingw32-w32api        ############################################# 
           7/10: mingw32-gcc           ############################################# 
           8/10: mingw32-binutils      ############################################# 
      
      
          $MIRRORLIST: media/contrib/release/python-enchant-1.5.3-2mdv2011.0.noarch.rpm 
          $MIRRORLIST: media/contrib/release/rpmlint-mandriva-policy-0.2.6-6-mdv2011.0.noarch.rpm 
      installation de python-enchant-1.5.3-2mdv2011.0.noarch.rpm rpmlint-mandriva-policy-0.2.6-6-mdv2011.0.noarch.rpm depuis /var/cache/urpmi/rpms 
      Préparation ...                  ############################################# 
           9/10: rpmlint-mandriva-policy 
                                       ############################################# 
          10/10: python-enchant        ############################################# 
      [root@localhost language_C]#


      Le problème est de compiler vers un format exe de windows x64.

      [root@localhost language_C]# mingw32-gcc test.c -o test_windows7.exe 
      bash: mingw32-gcc : commande introuvable 
      [root@localhost language_C]#  
      [root@localhost language_C]# mingw32-gcc -o test_windows7.exe test.C 
      bash: mingw32-gcc : commande introuvable 
      [root@localhost language_C]#  
      [laurent@localhost language_C]$ man mingw32 
      Il n'y a pas de page de manuel pour mingw32. 
      [laurent@localhost language_C]$ man mingw32-gcc 
      Il n'y a pas de page de manuel pour mingw32-gcc. 
      [laurent@localhost language_C]$  
      
      [root@localhost language_C]# ls 
      a.out*  test.c  test.c~   
      [root@localhost language_C]#  
      


      Quel est la commande pour compiler au format windows --> exe

      Merci d'avance, cordialement.
      0