linux下编译使用boost:shared_ptr的代码总是报错,该怎么解决

linux下编译使用boost::shared_ptr的代码总是报错
各位大神,日前我完成了一SDK的windows版本的编写,现在需要编译,我在编译一个使用boost::shared_ptr指针的时候总是失败代码如下:
#pragma once

#include <entity/BaseResponse.h>

#include<entity/GoCloudRequest.h>
#include<boost/shared_ptr.hpp>
using namespace std;

class ProtocolExecutor

{

public:

virtual shared_ptr<BaseResponse> execute(GoCloudRequest request)=0;

private:



};


报的错如下:
./ProtocolExecutor.h:9: error: ISO C++ forbids declaration of 'shared_ptr' with no type
./ProtocolExecutor.h:9: error: 'shared_ptr' declared as a 'virtual' field
./ProtocolExecutor.h:9: error: expected ';' before '<' token
In file included from ./HttpProcolExecutor.cpp:5:
./HttpProcolExecutor.h:8: error: ISO C++ forbids declaration of 'shared_ptr' with no type
./HttpProcolExecutor.h:8: error: expected ';' before '<' token
./HttpProcolExecutor.h:9: error: ISO C++ forbids declaration of 'shared_ptr' with no type
./HttpProcolExecutor.h:9: error: expected ';' before '<' token
./HttpProcolExecutor.cpp:39: error: expected constructor, destructor, or type conversion before '<' token
在windows上明明没问题的,忘各位大神指点
------解决思路----------------------
1、首先确定你在linux下安装boost库没有,如果装好了的话 指定编译依赖-lboost_system
2、请更改为shared_ptr->boost::shared_ptr
------解决思路----------------------
楼上说的对
你没加命名空间