-std=gnu++17
кто знает почему у меня не работают потоки. строчка #include <thread> проходит нормально через компиляцию, но thread th1(brute_force,1); пишет error: 'thread' was not declared in this scope
возможно я забыл указать какой-то параметр при компиляции?
Там есть специальный флаг, чтобы подключить, слинковать библу.
я не указывал флаг, ты не знаешь какой именно флаг?
thread th1(brute_force,1); Уф
Ещё возможно ты не установил их в инсталяторе mingw.
std::thread?
Стесняюсь спросить. у вас std::thread?
std::!
как это можно сделать?
Mingw installer открой. Я уже точно не помню как это там делается. Это вопрос в supapro.
вот ответ
я думаю, в этом случае ошибка была бы еще на #include
у меня стоит using namespace std;
Необязательно. Под mingw-w64 есть два вида потоков: win32, posix. Заголовок вроде есть всегда, но std::thread только во втором тулчейне есть
не знаешь как узнать почему не работает?
не совсем понял
Напишите минимальный неработающий пример на godbolt.org . Может вы где то ; забыли, и мы долго гадать будем
#include <iostream> #include <windows.h> #include <thread> using namespace std; int brute_force(int i){ cout << "brute_force: " << i << endl; return 0; } int main(int argc, char *argv[]){ thread th1(brute_force,1); thread th2(brute_force,2); th1.join(); th2.join(); return 0; }
А почему такой древний gcc?
Эта штука, кажется, давно мертва, лучше рекомендовать всем msys2
Обсуждают сегодня