77 / 50 / 16
Регистрация: 17.05.2015
Сообщений: 262

Std::make_unique не работает в gcc 4.9, Qt 5.6

09.03.2016, 06:07. Показов 7231. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь скопилить чужой код.
Qtcreator орет, что make_unique нету в пространстве имен std.
Code
1
/home/valeryn/DEV/Lava/System/surfacewindow.cpp:45: ошибка: 'make_unique' is not a member of 'std'
Консоль сборки
Кликните здесь для просмотра всего текста

Code
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
30
31
32
33
34
35
g++ -c -pipe -std=gnu++1y -g -std=gnu++1y -Wall -W -fPIC -DQT_QML_DEBUG -I../Lava -I. -I../../Qt/5.6/gcc_64/mkspecs/linux-g++ -o main.o ../Lava/main.cpp
 
'....много warrning-ов на пустые структуры...'
                                              ^
g++ -c -pipe -std=gnu++1y -g -std=gnu++1y -Wall -W -fPIC -DQT_QML_DEBUG -I../Lava -I. -I../../Qt/5.6/gcc_64/mkspecs/linux-g++ -o surfacewindow.o ../Lava/System/surfacewindow.cpp
../Lava/System/surfacewindow.cpp: In member function 'void SurfaceWindow::initFrameBuffers()':
../Lava/System/surfacewindow.cpp:45:28: error: 'make_unique' is not a member of 'std'
         mFrameBuffers[i] = std::make_unique<FrameBuffer>(mDevice, *mRenderPass, std::move(allViews), mWidth, mHeight, 1);
                            ^
../Lava/System/surfacewindow.cpp:45:56: error: expected primary-expression before '>' token
         mFrameBuffers[i] = std::make_unique<FrameBuffer>(mDevice, *mRenderPass, std::move(allViews), mWidth, mHeight, 1);
                                                        ^
../Lava/System/surfacewindow.cpp:45:68: warning: left operand of comma operator has no effect [-Wunused-value]
         mFrameBuffers[i] = std::make_unique<FrameBuffer>(mDevice, *mRenderPass, std::move(allViews), mWidth, mHeight, 1);
                                                                    ^
../Lava/System/surfacewindow.cpp:45:110: warning: right operand of comma operator has no effect [-Wunused-value]
         mFrameBuffers[i] = std::make_unique<FrameBuffer>(mDevice, *mRenderPass, std::move(allViews), mWidth, mHeight, 1);
                                                                                                              ^
../Lava/System/surfacewindow.cpp:45:119: warning: right operand of comma operator has no effect [-Wunused-value]
         mFrameBuffers[i] = std::make_unique<FrameBuffer>(mDevice, *mRenderPass, std::move(allViews), mWidth, mHeight, 1);
                                                                                                                       ^
../Lava/System/surfacewindow.cpp: In member function 'void SurfaceWindow::createSwapchain()':
../Lava/System/surfacewindow.cpp:61:19: error: 'make_unique' is not a member of 'std'
     mRenderPass = std::make_unique<RenderPass>(mDevice, mFormat);
                   ^
../Lava/System/surfacewindow.cpp:61:46: error: expected primary-expression before '>' token
     mRenderPass = std::make_unique<RenderPass>(mDevice, mFormat);
                                              ^
../Lava/System/surfacewindow.cpp:61:57: warning: left operand of comma operator has no effect [-Wunused-value]
     mRenderPass = std::make_unique<RenderPass>(mDevice, mFormat);
                                                         ^
make: *** [surfacewindow.o] Error 1
12:42:38: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/установке проекта Lava (комплект:  Desktop Qt 5.6.0 GCC 4.9 64bit)
Во время выполнения этапа «Сборка»


В pro файл
CONFIG += c++14
и
QMAKE_CXXFLAGS += -std=gnu++1y
Вписал.

в unique_ptr.h реализация есть.
C++
1
2
3
#if __cplusplus > 201103L
 
#define __cpp_lib_make_unique 201304
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2016, 06:07
Ответы с готовыми решениями:

gcc -std key
============================================================== -std= какие параметры здесь можно указывать? что указать чтобы...

Отсутствует std::unique_ptr gcc 4.8.1
всем привет , я в С++ начинающий и возникла проблема не работает std::unique_ptr версия компилятора gcc 4.8.1(tdm 2) флаг...

Почему gcc ругается на std::cout?
Проблема такая: работаю на Mac, установил Xcode, запускаю gcc в командной строке. Имеется элементарная программка: #include...

20
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
11.03.2016, 14:25
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Valeryn Посмотреть сообщение
А пытаюсь компилировать из под QtCreator, предварительно создал комплект и указал компилятор - ругается на -std=c++14
Есть нехорошее подозрение, что у тебя несколько разных версий gcc на машине и Qt берёт не ту версию, что ты берёшь из консоли. Запусти-ка из-под Qt-Creator'а вот такой тест на исполнение

C++
#include <iostream>
 
int main()
{
  std::cout << __GNUC__ << " " << __GNUC_MINOR__ << "\n";
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2016, 14:25

Компилятор (gcc 4.6) не распознает параметер-std=gnu11
Всем привет, Компилятор (gcc 4.6) не распознает параметер -std=gnu11, Кто знает в чем проблема?

Std::forward_list по-разному ведет себя с компиляторами gcc и vc++
Есть такой код: #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;forward_list&gt; using namespace std; void show(const...

GCC Сборка 32 разрядной версии GCC 64 разрядным GCC
Доброго времени суток. Возникла необходимость под 32х разрядный Linux, собрать 32 разрядный GCC. Но на моей основной машине установлена 64...

Не работает std::cout || std::cin
#include &quot;Account.h&quot; #include &lt;string&gt; #include &lt;iostream&gt; using std::cout; Account :: Account(int startBalance) { ...

Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска...


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

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

Новые блоги и статьи
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru