64-битный MinGW , основанный на (только что выпущенном) gcc-4.4.0, является, вероятно, вашим лучшим выбором.
(Поскольку проект mingw-w64 на sourceforge.net перемещается на mingw-w64.org, лучше использовать mingw-w64.org )
Подробные инструкции:
1. Загрузите архив
2. Распакуйте его где-нибудь под Cygwin. В моем случае каталог верхнего уровня cygwin - это C:\cygwin
, я извлек пакет в каталог mingw
и получил следующее содержимое в C:\cygwin\mingw
(которое отображается как /mingw
в 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. Теперь скомпилируйте код на C ++. Я использовал:
// t.cc
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> vs;
vs.push_back("abc");
}
И скомпилируйте это так:
$ /mingw/bin/x86_64-pc-mingw32-g++ t.cc
4. Наконец, убедитесь, что результатом является исполняемый файл Windows / x 64, запустив 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