Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > Autres
Autres Vos questions sur les autres EDI ou éditeurs : Emacs, Vim, Kdevelop, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/02/2008, 08h51   #1
sagopa
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 83
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 83
Points : 27
Points : 27
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.
sagopa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 22h08   #2
aoyou
Membre émérite
 
Inscription : mars 2005
Messages : 860
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 860
Points : 964
Points : 964
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...
aoyou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2008, 18h17   #3
sagopa
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 83
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 83
Points : 27
Points : 27
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 ...
sagopa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2008, 17h37   #4
sagopa
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 83
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 83
Points : 27
Points : 27
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.
sagopa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 11h02   #5
mailaka
Nouveau Membre du Club
 
Inscription : octobre 2005
Messages : 57
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 57
Points : 39
Points : 39
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 ?
mailaka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2009, 12h36   #6
marco3181
Invité de passage
 
Inscription : 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
marco3181 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h30   #7
abdo203
Invité de passage
 
Inscription : avril 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 7
Points : 1
Points : 1
Cette solution ça marche très bien chez moi , Merci bien Marco3181.
abdo203 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h05.


 
 
 
 
Partenaires

Hébergement Web