4

我需要unique_ptr在我的 C++ 作业中使用。

我下载了一个新的编译器 TDM-GCC-4.7.1,并安装了它。然后我将 GNU GCC Compiler 的目录更改为 option: 中的安装路径Setting->Compiler...->Toolchain Executable

但它不起作用。当我定义一个unique_ptr. 会发生错误:"unique pointer is not a command of 'std' "

使用智能指针的原因是为了提供强大的异常安全性,这也是本次赋值的要求。我只需要使用 C++11 的这个新特性...另外,我使用的操作系统是 Window 7。

谢谢!

4

4 回答 4

5
  1. 下载最新的tdm-gcc http://tdm-gcc.tdragon.net
  2. Settings->Compiler, Selected Compiler [GNU GCC Compiler] Copy and Create a new configuration [GNU GCC Compiler 4.9.2]
  3. 详细配置 详细配置图片
  4. 通过单击将新的编译器配置设置为默认值Set as default
  5. 将编译器设置更改为having c++11.

PS: 代码::blocks 版本 13.12,tdm-gcc 4.9.2

于 2014-12-29T12:22:46.487 回答
5

在 CodeBlocks 中,您可以在项目编译器设置或全局编译器设置中设置 C++11 模式。由于您可能更频繁地使用它,以下是您如何全局更改它:

转到设置->编译器->(这里应该有选项列表,在编译器标志中)->选择“让 g++ 遵循 C++11 ISO C++ 语言标准 [-std=c++11]”

以下是如何为单个项目更改它:

转到项目-> 构建选项->(此处应该有选项列表,在编译器标志中)-> 选择“让 g++ 遵循 C++11 ISO C++ 语言标准 [-std=c++11]”

于 2013-06-20T00:22:50.137 回答
2
  1. Remember to #include <memory>
  2. Add -std=gnu++0x or -std=c++11 compiler flags......whichever works
于 2013-06-19T22:37:09.273 回答
0

这可能是一个迟到的答案,但对于任何要求这样做的人,将选项“动态库的链接器”从 gcc 更改为 g++ 对我有用

于 2018-10-04T03:13:43.663 回答