El 64-bit MinGW, basado en (recién lanzado) gcc-4.4.0, es probablemente su mejor opción. (Dado que el proyecto MinGW-W64 en sourceforge.net se está moviendo a mingw-w64.org que es mejor utilizar mingw-w64.org)
Las instrucciones detalladas:
1. Descargar el archive
2. Extraer en algún lugar bajo Cygwin. En mi caso, el directorio de cygwin de nivel superior es C:\cygwin
, extraje el paquete en mingw
directorio, y terminó con el siguiente contenido en C:\cygwin\mingw
(que es visible como /mingw
bajo Cygwin:
$ ls -l /mingw
total 1
drwxr-xr-x+ 2 user None 0 May 10 08:32 bin
drwxr-xr-x+ 2 user None 0 May 10 05:45 include
drwxr-xr-x+ 2 user None 0 May 10 08:30 info
drwxr-xr-x+ 3 user None 0 May 10 08:30 lib
drwxr-xr-x+ 3 user None 0 May 10 05:45 libexec
drwxr-xr-x+ 4 user None 0 May 10 05:45 man
lrwxrwxrwx 1 user None 17 May 17 17:20 mingw -> x86_64-pc-mingw32
drwxr-xr-x+ 3 user None 0 May 10 04:16 share
drwxr-xr-x+ 5 user None 0 May 10 04:18 x86_64-pc-mingw32
3. Ahora compilar algunas . código C++ utilicé:
// t.cc
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> vs;
vs.push_back("abc");
}
y compilar esta manera:
$ /mingw/bin/x86_64-pc-mingw32-g++ t.cc
4. Por último, verif y el resultado es un/x 64 ejecutable de Windows, mediante la ejecución de dumpbin /headers a.exe
:
Microsoft (R) COFF/PE Dumper Version 7.00.9466
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file a.exe
PE signature found
File Type: EXECUTABLE IMAGE
FILE HEADER VALUES
8664 machine (AMD64)
10 number of sections
4A10AF9F time date stamp Sun May 17 17:45:19 2009
ABA00 file pointer to symbol table
EC4 number of symbols
F0 size of optional header
27 characteristics
Relocations stripped
Executable
Line numbers stripped
Application can handle large (>2GB) addresses
Encontré una compilación de ventanas Ming64 en http://www.drangon.org/mingw/ que parecía que estaba a punto de funcionar. No hubo problemas con los archivos de cabecera no encontrados, etc. Pero entonces cc1plus.exe (llamado por g ++) se colgó. Suspiro. – Fantius