Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Nouveau Membre du Club
    Inscrit en
    octobre 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 83
    Points : 31
    Points
    31

    Par défaut Cross-compilation Windows -> Linux

    Bonjour,

    Je dois realiser une application tournant sous linux, mais developpee et donc compile sous Windows (cross-compilation). Ne me dites pas de developper directement sous Linux, car cela m'est impose ! grrr !!

    Alors, est-ce que quelqu'un a une idee ?

    Apparemment, en installant cygwin c'est possible (je suis en train de le telecharger pour tester), le probleme c'est que ca prend trop d'espace disque et je ne connais pas les outils necessaire (une install complete est impossible : il me reste 2 GO !!!! =) )

    Une autre solution serait de recompiler gcc avec les options --target=i486-linux.
    Par contre je ne sais pas comment faire.

    J'attents vos suggestions ...

    Merci d'avance.

  2. #2
    Membre Expert
    Inscrit en
    mars 2005
    Messages
    865
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 865
    Points : 1 060
    Points
    1 060

    Par défaut

    Ouh là, je n'ai jamais entendu parler de cross-compilation de windows vers Linux. Ca doit être en tout cas plus rare. On cross-compile le plus souvent de Linux vers Windows. Pour ce qui est de cygwin, le seul cross-compiler qui existe en standard est de Cygwin vers Mingw, si encore on peut appeler cela cross-compiler. Pour conclure, Cygwin ne fournit pas de cross-compiler mais peut-être en existe-t'il un quelque part...

  3. #3
    Nouveau Membre du Club
    Inscrit en
    octobre 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 83
    Points : 31
    Points
    31

    Par défaut

    Citation Envoyé par aoyou Voir le message
    Ouh là, je n'ai jamais entendu parler de cross-compilation de windows vers Linux. Ca doit être en tout cas plus rare. On cross-compile le plus souvent de Linux vers Windows. Pour ce qui est de cygwin, le seul cross-compiler qui existe en standard est de Cygwin vers Mingw, si encore on peut appeler cela cross-compiler. Pour conclure, Cygwin ne fournit pas de cross-compiler mais peut-être en existe-t'il un quelque part...
    En effet c'est rare.

    La solution serait d'installer cygwin, et installer (dans cygwin) crosstool. Je suis cette piste : on verra bien ...

  4. #4
    Nouveau Membre du Club
    Inscrit en
    octobre 2006
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 83
    Points : 31
    Points
    31

    Par défaut

    Re

    Donc j'ai installe cygwin sur ma machine, ainsi que crosstool.

    j'ai ajoute le "bin" dans le PATH.
    Pour verifier gcc -v me donne :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Using built-in specs.
    Target: i686-unknown-linux-gnu
    Configured with:/crosstool-0.43/build/i686-unknown-linux-gnu/gcc-1.2.0-glibc-2.3.6/gcc-4.1.0/configure
    --target=i686-unknown-linux-gnu
    --host=i686-host_pc-cygwin
    --prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu
    --with-arch=pentium3
    --with-tune=pentium4
    --with-headers=/opt/crosstool/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu/i686-unknown-linux-gnu/include
    --with-local-prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu/i686-unknown-linux-gnu/
    --disable-nls
    --enable-threads=posix
    --enable-symvers=gnu
    --enable-__cxa_atexit
    --enable-languages=c,c++
    --enable-shared
    --enable-c99
    --enable-long-long
    Thread model: posix
    gcc version 4.1.0
    et enfin quand je compile il me cree mon "executable" ; sauf que ce fichier ne peut etre exectue :

    Code :
    cannot execute binary file
    et quand je fais "file nom_exectuable" , j'obtiens : data

    Bizarre !!!

    Aidez-moi please cela fait deja une semaine que je cherche a faire de la compilation croisee de windows vers linux.

  5. #5
    Membre du Club
    Inscrit en
    octobre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : octobre 2005
    Messages : 57
    Points : 42
    Points
    42

    Par défaut

    Cela depend aussi du type d'application que tu veux faire ....

    Maintenant aussi quand tu dis, tu lances ton executable, tu le fais sous cygwin ou sur ton OS cible ?

  6. #6
    Invité de passage
    Inscrit en
    janvier 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 1
    Points : 1
    Points
    1

    Par défaut Cross compiling windows->Linux Soluce

    Bonjour,

    Je ne sais pas si ça intéresse encore quelqu'un mais voilà une solution trouvée ici:
    http://metamod-p.sourceforge.net/cro...for.linux.html

    Pour les non anglophones,
    1. Récuperer le setup.exe de Cygwin: http://www.cygwin.com/

    1.1. Lancer setup.exe at aller jusqu'à la sélection des packages.

    1.2. Sous la catégorie Devel, sélectionner les outils pour compiler vos sources. Par exemple "GNU make".

    1.3. Finir l'installation.

    2. Récupérer le crosscompiler linux pour cygwin:
    "cygwin-gcc-linux.tar.bz2" (68.2 Mb).
    md5sum: 340e91a346f5bb17e660db10e43005b8

    Ces compilers sont fait avec crosstool 0.28-rc37. Ce package contient:
    gcc-3.3.4 and gcc-2.95.3 for i386 (glibc 2.1.3) and gcc-3.3.3 for amd64
    (glibc 2.3.2).
    --------------------------------------------------------------------------------
    Note! Il y a une nouvelle version de GCC disponible avec la glibc 2.3.2:
    "cygwin-gcc-3.3.6-glibc-2.3.2-linux.tar.bz2 (i386, x86_64)".

    2.1. Copier 'cygwin-gcc-linux.tar.bz2' dans 'c:\cygwin' ou le nom du répertoire d'install que vous avez utilisé dans setup.exe.

    2.2. Ouvrer l'interpréteur de commande Cygwin et aller dans le répertoire root avec 'cd /'.

    2.3. Décompresser le fichier dans la racine de Cygwin avec la commande:
    'tar -jxvf cygwin-gcc-linux.tar.bz2'.

    Les Cross-compilers sont installés sous '/opt/crosstool'. Vous pouvez les utiliser directement ou avec les commandes:
    gcc-linux, g++-linux, gcc-linux-2.95,
    g++-linux-2.95, gcc-linux-x86_64 and g++-linux-x86_64.

    Voilà, j'espère que ça en aidera quelques un. Tout le crédit revient au site cité en début.

    @++

    Marc

  7. #7
    Invité de passage
    Inscrit en
    avril 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Cette solution ça marche très bien chez moi , Merci bien Marco3181.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •