C ++ Threads, std :: system_error - операция не разрешена? [Дубликат]
На этот вопрос уже есть ответ:
Каковы правильные параметры ссылок для использования std :: thread в GCC под Linux? 6 ответовТак что я написал программу для тестирования потоков на 64-битной Kubuntu Linux, версия 13.04. На самом деле я украл код у кого-то еще, кто писал тестовую программу.
#include <cstdlib>
#include <iostream>
#include <thread>
void task1(const std::string msg)
{
std::cout << "task1 says: " << msg << std::endl;
}
int main(int argc, char **argv)
{
std::thread t1(task1, "Hello");
t1.join();
return EXIT_SUCCESS;
}
Я скомпилировал с помощью:
g++ -pthread -std=c++11 -c main.cpp
g++ main.o -o main.out
Затем побежал:
./main.out
Кроме того, когда я 'ls -l', main.out отображается зеленым текстом, как и все исполняемые файлы, но также имеет звездочку в конце своего имени. Почему это
Возврат к проблеме: Когда я запустил main.out, появилась ошибк
terminate called after throwing an instance of 'std::system_error'
what(): Operation not permitted
Aborted (core dumped)
У кого-нибудь есть идеи, как это исправить?