我正在學習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