ошибка с <mutex>при использовании библиотеки на C ++, Windows - PullRequest
1 голос
/ 08 мая 2020

Я пытаюсь использовать библиотеку Armadillo в своем коде на C ++. Когда я пытаюсь использовать его, появляется сообщение об ошибке: «error: 'mutex' в пространстве имен 'std' не называет тип»

Я получаю ту же ошибку со следующей минималистской реализацией:

#include <iostream>
#include <mutex>
std::mutex mtx;
int main () {

  return 0;
}

Думаю, библиотеки "mutex" просто нет. Я использую Windows, G ++ 8.1.0, MinGW-w64 и SublimeText для редактирования. Я добавляю -std = c ++ 11 при запуске файла. Я запускаю файл с помощью следующей команды (try_mutex. cpp - файл с предыдущим кодом):

g++ -std=c++11 try_mutex.cpp

Результат выглядит следующим образом:

try_mutex.cpp:3:6: error: 'mutex' in namespace 'std' does not name a type
 std::mutex mtx;
      ^~~~~
try_mutex.cpp:3:1: note: 'std::mutex' is defined in header '<mutex>'; did you forget to '#include <mutex>'?
+#include <mutex>
 std::mutex mtx;
 ^~~
...