2013-07-09 6 views
20


Saluti,
Ottenere std :: filo/mutex di lavorare sotto Win7 con MinGW e g ++ 4.7.2

Ho recentemente trasferito fuori del mio rifugio unix per testare un presunto cross-piattaforma di networking libreria solo per scopri che a mingw non piace nutrire C++ 11 cose.

Suppongo di perdere le intestazioni richieste poiché Win7 non è dotato di supporto per C++ 11.

Si compila bene con VS2012
ma g ++ si rifiuta di.

error: 'thread' in namespace 'std' does not name a type 
error: 'mutex' in namespace 'std' does not name a type 

La domanda è:

Come ottengo una copia di C++ 11 intestazioni/librerie cioè < filo> senza utilizzare quelli forniti da installazione VS2012.

P.S. # 1 Ho provato l'aggiornamento di mingw-get ma ancora non trovo il thread <>
P.S. # 2 Sto anche usando -std = C++ 11


Cordiali saluti,
Chris.

+1

Prova a cercare su google come "rubenvb mingw threads gcc" e scarica una di quelle distribuzioni. E non dimenticare di ringraziare Rubenvb quando lo incontri –

+1

Il [builds here] (http://sourceforge.net/projects/mingwbuilds/?source=directory) supporta anche i thread. Per i build di rubenvb, usa quelli di 'experimental-stdthread'. –

+0

@Jesse Bene Bene, grazie! –

risposta

15

Questi MinGW-W64 build supporto C++ 11 fili, operazioni atomiche ecc

  1. MinGW-builds are now integrated into the MinGW-w64 project
  2. MinGW-builds (project is old and will not be updated, see point above)
  3. MinGW-W64 rubenvb 64-bit e 32-bit build

Nota che MinGW-w64 non è solo a 64 bit, ma lo supporta, a differenza del vecchio MinGW (.org) a cui mancano molte delle nuove API di Vista + e, naturalmente, il supporto a 64 bit.

+0

build di rubenvb funziona per x86_64, ma non riesce a collegare file oggetto a 32 bit, in quanto manca la libbit a 32 bit purtroppo non c'è build i686. – Thomas

+1

@Thomas C'è una sezione separata per i686 ... google 'rubenvb i686'. –

+2

@Thomas 32 bit: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/ –