GCC std :: поток не найден в пространстве имен std - PullRequest
15 голосов
/ 05 августа 2010

Я использую GCC 4.5.0 с Eclipse IDE (если это имеет значение) в Windows через MinGW.

Я использую флаг -std=c++0x.

Я считаю, что _GLIBCXX_HAS_GTHREADS все еще не определено, поэтому thread для меня все еще не является членом пространства имен std. - или, может быть, это что-то еще.

Что нужно сделать, чтобы получить поддержку C ++ 11 с GCC?

P.S. Он не распознает флаг -pthread. В другом месте на этом сайте я прочитал вопрос, что это работает.

Редактировать: Глупый меня: pthread это библиотека, а не вариант. Он установлен, gcc может найти заголовок, но сигары по-прежнему нет.

Ответы [ 5 ]

10 голосов
/ 05 августа 2010

Прекрасно работает в Linux (g++ -std=c++0x -lpthread без дополнительных определений).

Однако этот поток в списке рассылки Cygwin предполагает, что, по крайней мере, начиная с 4.4, _GLIBCXX_HAS_GTHREADS был отключен с помощью теста autoconf при сборке libstdc ++, поскольку реализация cythwin в pthread отсутствует pthread_mutex_timedlock.Возможно, у MinGW такая же проблема.

Кроме того, этот поток на comp.lang.c ++. Moderated говорит то же самое.Не поддерживается библиотекой.

3 голосов
/ 30 октября 2011

Используйте это строения mingw: http://code.google.com/p/mingw-builds/downloads/list

3 голосов
/ 31 августа 2011

Собственные сборки Windows для gcc не поддерживают новую библиотеку потоков C ++ 0x / C ++ 11.

(коммерческая) Just :: Thread библиотека добавляет поддержкупорт TDM gcc 4.5.2 для Windows, а также MSVC.

3 голосов
/ 05 августа 2010

Что нужно сделать, чтобы получить поддержку C ++ 0x с GCC?

Использовать Boost? Серьезно http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html утверждает, что потоки не завершены даже в заголовке основной линии, поэтому не будет ни в одном текущем выпуске.

2 голосов
/ 11 декабря 2014

Уже существует облегченная библиотека только для заголовков, которая реализует std :: thread и синхронизирующие примитивы в чистом win32 API: https://github.com/meganz/mingw-std-threads

ИТ-отдел должен работать с любой версией MinGW, имеющей надлежащий C ++ 11поддержка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...