Подтвердить что ты не робот

Получение std:: thread/mutex для работы под Win7 с mingw и g++ 4.7.2


Приветствия,

Недавно я вышел из своего приюта unix, чтобы протестировать предположительно кросс-платформенную сетевую библиотеку, чтобы обнаружить, что mingw не любит, когда его кормят С++ 11.

Я предполагаю, что мне не хватает заголовков, поскольку Win7 не поставляется с поддержкой С++ 11.

Он отлично компилируется с VS2012
но g++ отказывается.

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

Вопрос:

Как получить копию С++ 11 заголовков/библиотек i.e. <thread> без использования тех, которые предусмотрены установкой VS2012.

P.S. # 1 Я попробовал обновление mingw-get, но он все равно не найдет <thread>
Постскриптум # 2 Я также использую -std = С++ 11


С уважением,
Крис.

4b9b3361

Ответ 1

Эти сборки MinGW-w64 поддерживают потоки С++ 11, атомные операции и т.д.

Обратите внимание, что MinGW-w64 не только 64-разрядный, но и поддерживает его, в отличие от старого MinGW (.org), в котором отсутствует довольно много новых API-интерфейсов Vista + и, конечно, 64-разрядная поддержка.

Ответ 2

Посмотрите также здесь: https://github.com/meganz/mingw-std-threads Это более легкая, собственная реализация std:: thread и других, без использования порта pndreads win32.