Как я могу обновить code :: blocks, чтобы использовать TDM-GCC?

Мне нужно использовать unique_ptr в моем назначении C ++.

Я скачал новый компилятор TDM-GCC-4.7.1 и установил его. Затем я изменил каталог компилятора GNU GCC на путь установки в опции: Setting->Compiler...->Toolchain Executable,

Но это не работает. Когда я определяю unique_ptr, Произойдет ошибка: "unique pointer is not a command of 'std' "

Причина использования интеллектуального указателя заключается в обеспечении строгой безопасности исключений, что также является требованием этого назначения. Мне просто нужно использовать эту новую функцию C ++ 11 … Кроме того, я использую ОС Windows 7.

Спасибо!

3

Решение

В CodeBlocks вы можете установить режим C ++ 11 либо в настройках компилятора проекта, либо в глобальных настройках компилятора. Поскольку вы можете использовать его чаще, вот как вы можете изменить его глобально:

Зайдите в «Настройки» -> «Компилятор» -> (здесь должен быть список опций, во флагах компилятора) -> выберите «Пусть g ++ должен соответствовать стандарту языка C ++ 11 ISO C ++ [-std = c ++ 11]»

Вот как это можно изменить для одного проекта:

Перейдите в Project -> Параметры сборки -> (здесь должен быть список параметров, во флагах компилятора) -> Выберите «Пусть g ++ следует стандарту языка C ++ 11 ISO C ++ [-std = c ++ 11]»

5

Другие решения

  1. Загрузите последнюю версию tdm-gcc http://tdm-gcc.tdragon.net
  2. Настройки-> Компилятор, выбранный компилятор [Компилятор GNU GCC] Скопируйте и создайте новую конфигурацию [Компилятор GNU GCC 4.9.2]
  3. Детальная конфигурация
    детальная конфигурация изображения
  4. Установите новую конфигурацию компилятора по умолчанию, нажав Set as default
  5. Изменить настройки компилятора на having c++11,

PS: code :: blocks версия 13.12, tdm-gcc 4.9.2

5

  1. Запомни #include <memory>
  2. добавлять -std=gnu++0x или же -std=c++11 флаги компилятора …… все, что работает
2

Это может быть поздний ответ, но для тех, кто просит об этом, изменение опции «компоновщик для динамических библиотек» с gcc на g ++ работает для меня

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector