2011-03-16 5 views
6

J'ai téléchargé MinGW avec mingw-get-inst, et maintenant j'ai remarqué qu'il ne peut pas compiler pour x64.MinGW GCC - Compilateur croisé unique 32 bits et 64 bits?

Ainsi est-il 32 bitsbinaire la version du compilateur MinGW qui peut à la fois compiler pour Windows 32 bits et aussi pour Windows 64 bits? Je ne veux pas de version 64 bits capable de générer du code 32 bits, car je veux que le compilateur fonctionne aussi sur Windows 32 bits, et je ne recherche que des binaires précompilés ici, pas des fichiers sources , puisque j'ai passé d'innombrables heures à compiler GCC et à échouer, et j'ai abandonné pendant un moment. :(

+0

Apparemment, cela est dû au fait que mingw-w64 n'est pas compatible multilib. Voir http://stackoverflow.com/questions/17345584/mingw64-cannot-compile-32bit-code –

Répondre

5

AFAIK cibles de MinGW soit 32 fenêtres de bit ou 64 bit windows, mais pas les deux, vous aurez donc deux installations. Et ce dernier est toujours considéré comme beta.

Pour vous ce que vous voulez est soit mingw-w64-bin_i686-mingw ou mingw-w64-bin_i686-cygwin si vous voulez compiler pour windows 64. pour win32, il suffit d'utiliser ce que vous obtenez avec MinGW-get-inst.

Voir http://sourceforge.net/apps/trac/mingw-w64/wiki/download%20filename%20structure pour une explication des noms de fichiers.

+0

Hein, est-ce que je ne peux pas avoir quelque chose qui cible les deux? Que fait le drapeau '-m64'? Je ne pouvais pas le faire fonctionner, mais il semblait qu'il devrait être capable de faire quelque chose comme ça ... – Mehrdad

+3

Vous pouvez essayer -m32 avec le compilateur win64. – hirschhornsalz

+0

Ouais je l'ai fait, mais mis à part le fait qu'il soit encore en 64 bits, ça n'a pas fonctionné de toute façon: j'ai eu une sorte d'incompatibilité ou d'erreur de version (je n'ai pas le texte d'erreur avec moi) pense. – Mehrdad

3

Je sais que c'est une vieille question. Cependant, il est lié aux nombreuses fois où la question a été répétée

J'ai trouvé, après beaucoup de recherches que, maintenant, des années plus tard, les deux compilateurs sont couramment installés par défaut lors de l'installation de MINGW de votre dépôt (c.-à-d. synaptique).

Vous pouvez vérifier et vérifier en exécutant la commande locate Linux:

$ locate -r "mingw32.*[cg]++$" 

Sur mon Ubuntu (13.10) installer je par défaut les compilateurs suivants à choisir ... trouvé en exécutant la commande locate.

/usr/bin/amd64-mingw32msvc-c++ 
/usr/bin/amd64-mingw32msvc-g++ 
/usr/bin/i586-mingw32msvc-c++ 
/usr/bin/i586-mingw32msvc-g++ 
/usr/bin/i686-w64-mingw32-c++ 
/usr/bin/i686-w64-mingw32-g++ 
/usr/bin/x86_64-w64-mingw32-c++ 
/usr/bin/x86_64-w64-mingw32-g++ 

Enfin, le moins que vous auriez à faire sur de nombreux systèmes est exécuté:

$ sudo apt-get install gcc-mingw32 

J'espère que les nombreux liens vers cette page peut épargner beaucoup de programmeurs un peu de temps de recherche.

Questions connexes