Ошибка undefined reference to `pthread_create'. Как исправить?

В KDevelop не получается собрать программу с потоком.

Подключен модуль
#include <thread>

Вызывается поток
thread mythr(myfunc2);

При попытке собрать получается такая ошибка:
/home/evg/projects/myprog2/build> make -j1 -lpthread
-- Configuring done
-- Generating done
-- Build files have been written to: /home/evg/projects/myprog2/build
[ 50%] Linking CXX executable myprog2
CMakeFiles/myprog2.dir/main.cpp.o: In function `std::thread::thread(void (&)())':
/usr/include/c++/7/thread:122: undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/myprog2.dir/build.make:95: myprog2] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/myprog2.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
*** Ошибка: Код выхода: 2 ***


Как исправить? Как подключить модуль thread?
  • Вопрос задан
  • 8560 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
make -j1 -lpthread

- вместо -lpthread лучше писать -pthread
- опцию -pthread нужно передавать не make а gcc
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы