Задать вопрос
Dolarun
@Dolarun

Почему возникает ошибка c std::mutex при makefile gtest?

Вот output ошибок:
PS C:\Users\79306\Documents\GitHub\2DPrimitiveLib\tests><i> mingw32-make</i>
[ 16%] Building CXX object tests/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj
In file included from C:/Users/79306/Documents/GitHub/2DPrimitiveLib/tests/googletest/googletest/include/gtest/gtest-message.h:55:0,
                 from C:/Users/79306/Documents/GitHub/2DPrimitiveLib/tests/googletest/googletest/include/gtest/gtest-assertion-result.h:46,
                 from C:/Users/79306/Documents/GitHub/2DPrimitiveLib/tests/googletest/googletest/include/gtest/gtest.h:59,
                 from C:\Users\79306\Documents\GitHub\2DPrimitiveLib\tests\googletest\googletest\src\gtest-all.cc:38:
C:/Users/79306/Documents/GitHub/2DPrimitiveLib/tests/googletest/googletest/include/gtest/internal/gtest-port.h:1244:8: error: 'mutex' in namespace 'std' does not name a type
   std::mutex mu_;
        ^~~~~
...

Дальше также всё ломается, из-за первой поломоки(c std::mutex), наверное.
Я пробовал собирать makefile с Cmake-a c флагом gtest_disable_pthreads, но ошибки дальше вылетают:
6208b670cf163408516646.png
С пакетного установщика установил pthreads, но всё никак не работает.
Вот настройки CMake:
6208b6df2fa3a953224706.png
  • Вопрос задан
  • 309 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Компилятор С++ пенсионного возраста, или не настроен C++ >= С++11

-проверить, что компилятор новый (GCC 11й версии или Clang 12й)
-добавить флаг -std=c++17
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы