今日在做boost库服务器端异步的accept监听器时,编译出错
1> 正在创建库 F:\myworkspace\code\cocos2d-x\3DGameWithForServer\Debug\3DGameWithForServer.lib 和对象 F:\myworkspace\code\cocos2d-x\3DGameWithForServer\Debug\3DGameWithForServer.exp
1>tcp_server.obj : error LNK2019: 无法解析的外部符号 "public: class boost::asio::basic_stream_socket<class boost::asio::ip::tcp,class boost::asio::stream_socket_service<class boost::asio::ip::tcp> > & __thiscall tcp_session::socket(void)" (?socket@tcp_session@@QAEAAV?$basic_stream_socket@Vtcp@ip@asio@boost@@V?$stream_socket_service@Vtcp@ip@asio@boost@@@34@@asio@boost@@XZ),该符号在函数 "private: void __thiscall tcp_server::start_accept(void)" (?start_accept@tcp_server@@AAEXXZ) 中被引用
1>F:\myworkspace\code\cocos2d-x\3DGameWithForServer\Debug\3DGameWithForServer.exe : fatal error LNK1120: 1 个无法解析的外部命令
1> 正在创建库 F:\myworkspace\code\cocos2d-x\3DGameWithForServer\Debug\3DGameWithForServer.lib 和对象 F:\myworkspace\code\cocos2d-x\3DGameWithForServer\Debug\3DGameWithForServer.exp
1>tcp_server.obj : error LNK2019: 无法解析的外部符号 "public: class boost::asio::basic_stream_socket<class boost::asio::ip::tcp,class boost::asio::stream_socket_service<class boost::asio::ip::tcp> > & __thiscall tcp_session::socket(void)" (?socket@tcp_session@@QAEAAV?$basic_stream_socket@Vtcp@ip@asio@boost@@V?$stream_socket_service@Vtcp@ip@asio@boost@@@34@@asio@boost@@XZ),该符号在函数 "private: void __thiscall tcp_server::start_accept(void)" (?start_accept@tcp_server@@AAEXXZ) 中被引用
1>F:\myworkspace\code\cocos2d-x\3DGameWithForServer\Debug\3DGameWithForServer.exe : fatal error LNK1120: 1 个无法解析的外部命令
代码
m_acceptor.async_accept(session->socket(), //将接受到的socket保存在session的socket中
boost::bind(&tcp_server::handle_accept,
this,
boost::asio::placeholders::error,
session
));
boost::bind(&tcp_server::handle_accept,
this,
boost::asio::placeholders::error,
session
));
一检查session->socket(),的函数未实现,实现后编译通过。