LINUX.ORG.RU

Не работает многопоточность на с++11

 


1

0

Доброе время! Столкнулся с такой проблемой: написал helloWorld #include <iostream> #include <thread>

class background_task { public: void operator()() const { std::cout << «Hello, Multithreaded World!\n»; } };

int main() { background_task bgtask; std::thread mythread(bgtask); mythread.join(); return 0; }. При компиляции g++ -Wall -pthread -std=c++11 вылетает ошибка «terminate called after throwing an instance of 'std::system_error' what(): Enable multithreading to use std::thread: Operation not permitted Aborted (core dumped) »



Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от Practolog

Без -Wl,--no-as-needed:

ldd a.out
        linux-vdso.so.1 =>  (0x00007fffb55fe000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd27ccb9000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd27caa3000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd27c6da000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd27c3d6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd27cfde000)

C -Wl,--no-as-needed:

ldd a.out
        linux-vdso.so.1 =>  (0x00007fff127fe000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fab0f61e000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fab0f31a000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fab0f015000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fab0edff000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fab0ea37000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fab0f85c000)
alpha4
()
Последнее исправление: alpha4 (всего исправлений: 1)
Ответ на: комментарий от Practolog

ГейОС.

Поискал в интернете, не нашел

Ничего страшного, главное что Интернет запомнил что ты это искал.

anonymous
()
Ответ на: комментарий от yoghurt

Из 6-ти подряд идущих вопросов по этой тематике везде увидел слово *ubuntu. Стоит ли ставить Фёдора? Неужели все дело может быть в системе?

Practolog
() автор топика
Ответ на: комментарий от Practolog

Ты уже опробовал опции компилятора, которые тебе тут неоднократно предложили?

А gcc обновить не пробовал?

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Поставил Fedora 20. Все работает. Всем спасибо, тема закрыта.

Practolog
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.