Как я могу обновить код:: блоки для использования TDM-GCC?

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

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

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

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

Спасибо!

Ответ 1

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

Перейдите в Настройки → Компилятор → (Здесь должен быть список параметров в флагах компилятора) → Выберите "Have g++ следуйте стандарту языка С++ 11 ISO С++ [-std = С++ 11]"

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

Перейдите в Project → Build options → (Здесь должен быть список параметров в флагах Compiler) → Выберите "Have g++ следуйте стандарту языка С++ 11 ISO С++ [-std = С++ 11]"

Ответ 2

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

PS: code:: blocks ver 13.12, tdm-gcc 4.9.2

Ответ 3

  • Не забудьте #include <memory>
  • Добавить -std=gnu++0x или -std=c++11 флаги компилятора...... в зависимости от того, что работает