Russian Qt Forum
Май 23, 2024, 06:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: c++11 + QtCreator + gcc + Ubuntu  (Прочитано 2834 раз)
eugene.n
Гость
« : Август 20, 2015, 08:36 »

Есть QtCreator (последний) с Qt 5.5 на ubuntu 14.04.

Не получается использовать потоки С++11 thread. Ошибка - "Qt Creator outputs terminate called after throwing an instance of 'std::system_error' what(): Operation not permitted"

Ситуация схожая с этой .

Добавляю в .pro файле строки:

Код:
QMAKE_CXXFLAGS += -std=c++11 -pthread 
LIBS += -pthread

советовали даже так сделать:
Код:
CONFIG += -std=c++11

и вот так
Код:
LIBS += -lpthread

Не помогает. В чем может заключаться проблема?
« Последнее редактирование: Август 20, 2015, 08:41 от eugene.n » Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #1 : Август 20, 2015, 10:46 »

Допишите строчку:

LIBS += -Wl,-no-as-needed


http://stackoverflow.com/questions/19463602/compiling-multithread-code-with-g
Цитировать
It looks like this behaviour is caused by a bug in gcc: https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1228201

The workaround provided in the last comment of that bug discussion does work and solves the issue:

-Wl,--no-as-needed
« Последнее редактирование: Август 20, 2015, 10:52 от m_ax » Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
eugene.n
Гость
« Ответ #2 : Август 20, 2015, 18:31 »

m_ax, попробовал. Не помогло. Читал, что это вроде баг какой-то раньше так исправлялся в gcc.

В итоге помогло вот что:

Код:
QMAKE_CXXFLAGS += -std=c++11
QMAKE_LIBS += -pthread

 Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.041 секунд. Запросов: 19.