0

我已经安装了最新版本的 MinGW/MSYS 环境。现在我尝试激活 c++11 标准支持。我已添加到我的 cmake 脚本中:

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=gnu++0x")

如果我尝试构建一个简单的测试。我得到以下编译失败:

error: 'shared_ptr' is not a member of 'std'

在我看来,没有设置 c++11 支持。如果我从我的代码中删除 std::shared_ptr 声明并尝试编译 chrono 库的一些代码,它就可以工作。这让我很困惑。为什么支持某些 c++11 库但 shared_ptr 等核心元素失败?

我需要做一些额外的事情来启用智能指针还是它们不存在?

4

1 回答 1

2

您可以/应该(也)使用-std=c++0x以便不启用 g++ 扩展。

确保#include <memory>.

于 2013-02-07T19:57:58.587 回答