红联Linux门户
Linux帮助

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

发布时间:2017-03-03 10:43:18来源: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.linuxdiyf.com/linux/28855.html