我正在学习boost/asio和编写电子书中的示例程序。当然,没有工作的 ;)解析函数在boost/asio中不起作用
#include <boost/asio.hpp>
#include <iostream>
int main() {
boost::asio::io_service io_service;
boost::asio::ip::tcp::resolver::query query("www.boost.org", "http");
boost::asio::ip::tcp::resolver::iterator destination = boost::asio::ip::tcp::resolver::resolve(query); // if i have "." before "resolve" as in books example compilers says i need primary-expresion.
boost::asio::ip::tcp::endpoint endpoint;
while (destination != end) {
endpoint = *destination++;
std::cout<<endpoint<<std::endl;
}
boost::asio::ip::tcp::socket socket(io_service);
socket.connect(endpoint);
return 0;
}
编译器输出与“::”前“解决”:
/home/martins/C++/boost_asio_client/client.cpp|7|error: cannot call member function
‘boost::asio::ip::basic_resolver<InternetProtocol, ResolverService>::iterator
boost::asio::ip::basic_resolver<InternetProtocol,
ResolverService>::resolve(boost::asio::ip::basic_resolver<InternetProtocol,
ResolverService>::query&)
[with InternetProtocol = boost::asio::ip::tcp, ResolverService =
boost::asio::ip::resolver_service<boost::asio::ip::tcp>,
boost::asio::ip::basic_resolver<InternetProtocol, ResolverService>::iterator =
boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp>,
boost::asio::ip::basic_resolver<InternetProtocol, ResolverService>::query =
boost::asio::ip::basic_resolver_query<boost::asio::ip::tcp>]’ without object|
谁能告诉我如何正确解析地址吗?
尝试使用“g ++ -lboost_system client.ccp”编译仍有一些未定义的引用,现在它甚至开始讨论线程。 难道是我有一些设置错误的提升? – kurrata 2010-07-22 15:23:03
发现为什么我永远不能编译。我需要将“-pthread”添加到链接器选项中。 – kurrata 2010-07-23 06:10:40