你好,游客 登录 注册 搜索
背景:
阅读新闻

Error: ‘shared_ptr’ in namespace ‘std’ does not name a type

[日期:2017-03-07] 来源:Linux社区  作者:wangjiankun_ls [字体: ]

我们在使用G++编译程序的时候,有时会遇到如标题所示的错误,常见于Linux系统下。出现这种问题的原因是C++ 11 在各种平台下的兼容问题。

可以在CMakeLists中作出如下修改:

cmake_minimum_required(VERSION 2.6)
 
PROJECT(Test)
 
if(UNIX)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=gnu++0x")
endif()

简单来说,就是只要加一条命令即可:

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

如果编译仍然不成功,那么需要在你所有需要编译的源文件中include一个叫做 <memory.h> 的头文件即可。

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-03/141510.htm

linux
相关资讯       C++ 11 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款