2 / 2 / 2
Регистрация: 21.07.2015
Сообщений: 36

Ошибка "неопределенная ссылка" при работе с std::thread

20.01.2016, 02:06. Показов 3528. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При попытке сделать что-либо с std::thread, выдает ошибку компиляции, "неопределенная ссылка " .

К примеру:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <chrono>
#include <thread>
#include <mutex>
 
std::mutex g_lock;
 
void threadFunction()
{
     g_lock.lock();
 
     std::cout << "entered thread " << std::this_thread::get_id() << std::endl;
     std::this_thread::sleep_for(std::chrono::seconds(rand()%10));
     std::cout << "leaving thread " << std::this_thread::get_id() << std::endl;
 
     g_lock.unlock();
}
 
int main()
{
     srand((unsigned int)time(0));
     std::thread t1(threadFunction);
     std::thread t2(threadFunction);
     std::thread t3(threadFunction);
     t1.join();
     t2.join();
     t3.join();
     return 0;
}
Code
1
2
3
4
5
6
7
8
9
||=== Build: Debug in thread test (compiler: LLVM Clang Compiler) ===|
 
D:\ProgramFiles\MSYS\mingw32\include\c++\5.3.0\i686-w64-mingw32\bits\gthr-default.h|732|undefined reference to «pthread_mutex_init»|
D:\ProgramFiles\MSYS\mingw32\include\c++\5.3.0\i686-w64-mingw32\bits\gthr-default.h|739|undefined reference to «pthread_mutex_destroy»|
D:\ProgramFiles\MSYS\mingw32\include\c++\5.3.0\i686-w64-mingw32\bits\gthr-default.h|748|undefined reference to «pthread_mutex_lock»|
D:\ProgramFiles\MSYS\mingw32\include\c++\5.3.0\i686-w64-mingw32\bits\gthr-default.h|686|undefined reference to 
D:\ProgramFiles\MSYS\mingw32\include\c++\5.3.0\i686-w64-mingw32\bits\gthr-default.h|778|undefined reference to «pthread_mutex_unlock»|
D:\ProgramFiles\MSYS\mingw32\include\c++\5.3.0\i686-w64-mingw32\bits\gthr-default.h|680|undefined reference to «pthread_equal»|
D:\ProgramFiles\MSYS\mingw32\include\c++\5.3.0\thread|292|undefined reference to «nanosleep»|
Компилятор LLVM Сlang, IDE - Code::Blocks.
По документации Clang поддерживает thread и вообще весь С++11 полностью, специально для этого и ставил его.

Что не так? Что делать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2016, 02:06
Ответы с готовыми решениями:

Ошибка terminate called after throwing an instance of 'std::bad_alloc' при работе с типом std::string
Добрый вечер, при работе функции возникает ошибка terminate called after throwing an instance of 'std::bad_alloc' what(): ...

Ошибка при создании потока std::thread
Внутри класса есть функция void move(); Нужно, чтобы она работала в отдельном потоке. Проблема : неправильно указываю параметры....

Ошибка при передаче двумерного массива в функцию std::thread
Здравствуйте! Написал программу на потоки, теперь нужно передать туда двумерный массив. Пытаюсь передать по ссылке, но каждый раз...

2
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
20.01.2016, 10:21
NikBond, -pthread надо добавить линковщику.
1
19471 / 10080 / 2456
Регистрация: 30.01.2014
Сообщений: 17,763
20.01.2016, 10:23
Цитата Сообщение от NikBond Посмотреть сообщение
Что не так? Что делать?
Добавить к линковке библиотеку pthread:
Bash
1
-lpthread
В CodeBlocks в настройках проекта, вкладка Linker Settings, нажать Add и вписать "pthread" (без кавычек).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2016, 10:23
Помогаю со студенческими работами здесь

Ошибка ld, неопределённая ссылка
Есть следующий код: #include &lt;iostream&gt; class Human { private: std::string name; char sex;

Ошибка при работе с std::exception*
Почему в случаях 1 и 3 выводится нормальный e.what(), а во втором - ошибочный? Как это исправить? #include &lt;iostream&gt; #include...

Ошибка: неопределённая ссылка на функцию (gcc, cmake)
На начальном локальном репозитории всё нормально работало. На гитхабе сборка упала. При клонировании репозитория в другую папку сначала...

Ошибка компиляции "no instance of constructor 'std::thread::thread' matches the argument list"
Не могу сообразить почему возникает ошибка. У меня в классе есть метод, который должен работать в нескольких потоках одновременно. Вот он: ...

Неопределенная ссылка при использовании шаблонного класса
в проекте 4 файла: CmakeLists.txt, main.cpp, list.h, list.cpp. CmakeLists.txt: cmake_minimum_required(VERSION 2.8) ...


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

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

Новые блоги и статьи
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru