当前位置:   article > 正文

Error: ‘shared_ptr’ in namespace ‘std’ does not name a type_linux error: ‘std’ in namespace ‘std’ does not nam

linux error: ‘std’ in namespace ‘std’ does not name a type #define share

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

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

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/966627
推荐阅读
相关标签
  

闽ICP备14008679号