Получение 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
С уважением,
Крис.
Ответы
Ответ 1
Эти сборки MinGW-w64 поддерживают потоки С++ 11, атомные операции и т.д.
Обратите внимание, что MinGW-w64 не только 64-разрядный, но и поддерживает его, в отличие от старого MinGW (.org), в котором отсутствует довольно много новых API-интерфейсов Vista + и, конечно, 64-разрядная поддержка.
Ответ 2
Посмотрите также здесь:
https://github.com/meganz/mingw-std-threads
Это более легкая, собственная реализация std:: thread и других, без использования порта pndreads win32.