boost::asio 使用msvc编译

在windows下编译asio库(asio.lib、asio.dll)

简介

asio 是boost库中优秀的网络库。asio是一个异步的io库,支持以同步或异步的方式处理事件,也可以用于基于tcp或udp的网络通信。

(1)可移植到windows(完成端口实现)、linux(epoll实现)、FreeBSD、UNIX(kqueue实现)。

(2)可扩展性。

(3)效率很高。

(4)易使用,类 Socket API 编程模型。

支持同步、异步通信方式。

源码下载

路径

Asio C++ Library

二级链接(可能随时更新到新版本):sourceforge网站的asio1.30.2版本代码asio C++ library - Browse /asio/1.30.2 (Stable) at SourceForge.net

新建asio.cpp文件

#define ASIO_SEPARATE_COMPILATION
#define ASIO_DYN_LINK
#define _WIN32_WINNT          0x0601

#include "asio/impl/src.hpp"

将asio.cpp文件放在asio-1.30.2\include\文件夹中

(该文件夹中一定有asio文件夹)

创建编译脚本或编译

REM 声明编译环境 表示在64位环境中生成32位 程序
call "D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_x86.bat"
echo.
echo "run vcvarsamd64_x86.bat"
echo.

REM 编译 /c可避免错误:LINK : fatal error LNK1561: 必须定义入口点
cl /EHsc /c asio.cpp

REM 生成lib文件和obj文件
lib /out:asio.lib asio.obj

REM 链接
link /dll asio.obj

执行上面过程后,可以生成lib和dll文件

注:

/EHsc参考下面链接学习

vs中/EHa、/EHs、/EHsc的区别_ehsc eha-CSDN博客

题外

因为asio是头文件的库,所以,可能编译了一个寂寞

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值