【发布时间】:2013-02-03 15:15:03
【问题描述】:
我已经安装了最新版本的 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 等核心元素却失败了?
我需要做一些额外的事情来启用智能指针还是它们不存在?
【问题讨论】:
-
你到底使用什么编译器?
-
你
#include <memory>了吗? -
在问题中包含版本号。 “最新”在很长一段时间内都不会准确。
-
感谢包含内存的提示。这被误导性地注释掉了