boost::asio離脱boost独立コンパイル(windows)


boost.asioの強力なオープンソース非同期ネットワークライブラリは、c++11の誕生に伴い、boostへのコードの依存が徐々に減少しています.boostの依存ライブラリが膨大すぎるため、boostの多くの優れたモジュールは
スマートポインタ、auto、bind、スマートロック、スレッドなど、c++11に追加されました.
くだらないことは言わないで、asioの公式サイトはすでにboostから独立してコンパイルすることができることを説明して、しかし簡単にlinuxの下の離脱コンパイルを紹介して、以下は本題に入ります:
//1.     "c++/    /      "          
_WIN32_WINNT 0x0A00 //       WIN10
ASIO_STANDALONE	//    asio

//2.      "  /   "           

//3. asio         ,            

demo (demo )

#include "stdafx.h"
#include "asio.hpp"
#include 
using namespace std;
using namespace asio;
using asio::ip::tcp;
#include

class myasio
{
public:
	myasio()
		:m_acc(m_iosvr, tcp::endpoint(tcp::v4(), 1986))
	{

	}
	~myasio()
	{

	}

public:
	int start()
	{
		std::shared_ptr<:socket> psock(new tcp::socket(m_iosvr));
		m_acc.async_accept(*psock, [&](asio::error_code err) {
			if (err)
			{
				return;
			}
			start();
			std::cout << psock->remote_endpoint().address() << std::endl;
			time_t now = time(0);
			std::string msg = ctime(&now);
			asio::error_code igerr;
			psock->write_some(asio::buffer(msg), igerr);
		});
		m_iosvr.run();
		return 0;
	}
protected:
	void accept_handler(std::shared_ptr<:socket> ps, asio::error_code err)
	{
		if (err)
		{
			return;
		}
		start();

		std::cout << ps->remote_endpoint().address() << std::endl;

		time_t now = time(0);
		std::string msg = ctime(&now);
		asio::error_code igerr;
		ps->write_some(asio::buffer(msg), igerr);
	}
private:
	io_service		m_iosvr;
	tcp::acceptor		m_acc;
};


int main()
{
    myasio asio;
    asio.start();

    return 0;
}

vs 2010とvs 2017でコンパイルに ( のテストdemoはvs 2017でコンパイル)