Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
alex_kos_82
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 64
#1

Компилятор MinGW в NetBeans не видит класс потока (thread) - C++

02.09.2015, 08:45. Просмотров 1034. Ответов 11
Метки нет (Все метки)

Версия NetBeans - 8.0.2
компилятор - MinGW

Суть проблемы в следующем - использую NetBeans для С++, компилятор MinGW. Начал изучать работу с потоками (код простой программы приведен ниже). Но столкнулся с проблемой - компилятор в пространстве имен std класс потока не видит. Искал решение в нэте, так и не нашел. Может кто сталкивался с такой проблемой и подскажет как её решить? Заранее спасибо всем откликнувшимся!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//----- begin_code -----
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <vector>
#include <math.h>
#include <algorithm>
#include <ctime>
#include <thread>
 
using namespace std;
 
void thrF(){}
 
int main(int argc, char** argv) {
        
    std::thread thr(thrF());
    thr.join();    
        
    return 0;
}
//----- end_code -----
текст ошибки после компиляции
main.cpp:27:5: error: 'thread' is not a member of 'std'
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2015, 08:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Компилятор MinGW в NetBeans не видит класс потока (thread) (C++):

MinGW + Netbeans - C++
Здравствуйте. Помогите, пожалуйста, разобраться с проблемками. Первая проблема заключается в том, что я добавил свой каталог библиотек, но...

NetBeans, MinGW и setlocale - C++
Скачал для пробы NetBeans 7.2. Установил компилятор MinGW. Тут же столкнулся с распространенной проблемой - отображением русских символов в...

компилятор mingw - C++
Установил Dev-Cpp попробовал скомпилировать проект.Вот такая штука на экране.Ясно что дело не в коде.пробовал разные среды разработки...

Не удается запустить С++ приложение в среде NetBeans 7.0.1 (MinGW) - C++
Здравствуйте, Не получается запустить приложение в среде NetBeans версии 7.0.1. Настроил по идее все как полагается: Установил MinGW,...

Где можно скачать компилятор MinGW? - C++
А где я могу скачать просто компилятор MinGW g++ ?

Можно ли просто установить yaml в компилятор MinGW? - C++
Хочу поэкспериментировать с yaml. Что сделано 1. Смотрел - вроде бы в самом MinGW нет родной библиотеки для поддержки yaml, хотя может...

11
zss
Модератор
Эксперт С++
6876 / 6438 / 2155
Регистрация: 18.12.2011
Сообщений: 16,924
Завершенные тесты: 1
02.09.2015, 09:04 #2
В VS2013 компилируется такое
C++
1
2
3
4
5
6
7
8
9
10
#include <thread>
 
void thrF(){}
 
int main() 
{
    std::thread thr(thrF);
    thr.join();
    return 0;
}
0
DrOffset
7517 / 4513 / 1025
Регистрация: 30.01.2014
Сообщений: 7,362
02.09.2015, 10:15 #3
alex_kos_82,
Вот это
-std=c++11
в параметрах компилятору есть?
Если да, то обнови версию MinGW, возможно она просто старая.
0
alex_kos_82
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 64
02.09.2015, 13:03  [ТС] #4
настройки заданы - -std=c++11
Компилятор MinGW в NetBeans не видит класс потока (thread)

Как версию компилятора узнать не подскажите? Установлена самая последняя.
0
Миниатюры
Компилятор MinGW в NetBeans не видит класс потока (thread)  
zss
Модератор
Эксперт С++
6876 / 6438 / 2155
Регистрация: 18.12.2011
Сообщений: 16,924
Завершенные тесты: 1
02.09.2015, 13:10 #5
Цитата Сообщение от alex_kos_82 Посмотреть сообщение
std::thread thr(thrF());
Я не понимаю такого синтаксиса. До сих пор считал, что thrF() означает вызов функции, а thr(thrF()) означает вызов конструктора, которому передается результат вызова (в данном случае void, что весьма странно выглядит).
Цитата Сообщение от zss Посмотреть сообщение
std::thread thr(thrF);
Здесь понятно, что в качестве параметра конструктора передается адрес функции.
0
alex_kos_82
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 64
02.09.2015, 13:32  [ТС] #6
zss спасибо, но вопрос не в этом - как компилятор настроить на работу? Как сделать так чтобы мы увидели класс потока?
0
Croessmah
Ушел
13768 / 8018 / 924
Регистрация: 27.09.2012
Сообщений: 19,740
Записей в блоге: 3
Завершенные тесты: 1
02.09.2015, 13:39 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Версия компилятора? TDM порт вроде как не поддерживает
Смотрели?
http://stackoverflow.com/questions/2...thread-support
http://stackoverflow.com/questions/1...e-kepler-mingw
http://stackoverflow.com/questions/2...-member-of-std
1
DrOffset
7517 / 4513 / 1025
Регистрация: 30.01.2014
Сообщений: 7,362
02.09.2015, 17:25 #8
Цитата Сообщение от alex_kos_82 Посмотреть сообщение
Как версию компилятора узнать не подскажите?
Зайти в каталог bin в mingw, открыть консольку и выполнить
g++ -v
0
alex_kos_82
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 64
03.09.2015, 09:31  [ТС] #9
Спасибо всем откликнувшимся!!!
версия компилятора 5.1.0
Спасибо Croessmah )) Получается что в той сборке которую я использовал (стандартная сборка) нет класса потока.
Надо использовать сборки, приведенные по ссылке ниже
x32 - http://sourceforge.net/projects/ming...ds-posix/sjlj/
x64 - http://sourceforge.net/projects/ming...ds-posix/sjlj/
Однако папки msys там нет, её можно копировать из стандартного компилятора MinGW
0
castaway
Эксперт С++
4924 / 3032 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
03.09.2015, 11:07 #10
Какие то старые сборки ты нашел.
i686-4.9.3-release-posix-dwarf-rt_v4-rev1.7z
x86_64-4.9.3-release-posix-seh-rt_v4-rev1.7z
0
alex_kos_82
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 64
03.09.2015, 13:00  [ТС] #11
Понял, попробуем!
Вопрос еще один по этой теме - для компилятора VisualStudio 2010 есть возможность добавить данный класс?? Суть в том что итоговое приложение будет собираться на компиляторе Visual Studio 2010 на Qt.
Почему так замысловато? Раньше необходимости работать с потоками не было и все написанное в NetBeans + MinGW прекрасно собиралось. Но возникла необходимость работать с потоками. Книг по работе с классом thread достаточно, то есть по сути это распространенный класс. И по идее с этим классом в компиляторе VisualStudio как то должны работать?
0
alex_kos_82
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 64
11.09.2015, 09:58  [ТС] #12
Понял, вопрос закрыт ))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.09.2015, 09:58
Привет! Вот еще темы с ответами:

Std::thread приостановка потока - C++
Есть прога в C++ Builder. Три функции описаные внизу запускаются в трех разных потоках. Первый поток генерирует данные для для двух других,...

Присоединение потока std::thread - C++
Есть некая функция: int arr(){ do_something(); std::thread th1({ func1(); func2(); func3();}); th1.join() do_something2(); ...

[mingw] не видит <codecvt> - C++
всем привет. есть библиотека, которая изначально разрабатывалась в msvc2013. к библиотеке есть требование - кросс-платформа, и...

NetBeans IDE и компилятор MinWG(gcc) - C++
Здравствуйте, я только начал писать на C++ в NetBeans IDE и использую компилятор MinGW. И как мне добавить каталог C:\MinGW\bin в PATH.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru