独立版的 Asio安装与使用
Asio分为独立版和Boost版。两者使用方法基本一致,只是头文件不同。Boost版是作为Boost的子库提供的。
因为Asio的组织形式为hpp文件(不同一般的C++项目区分头文件.h和源文件.cpp),早年的Asio重度依赖Boost,但是在C++11之后,情况大为改善。因此Asio可以独立的引入(直接include)来使用。
当你的项目使用了Asio的独立版,需要指定C++11的宏,在去除对Boost的依赖,从达到真正的独立(standalone):
- Microsoft Visual Studio 2012+(直接使用)
- Linux with g++ 4.7 or 4.8 (requires -std=c++11)
- Mac OS X with clang++ / Xcode 4.6 (requires -std=c++11 -stdlib=libc++)
但是因为Asio中自带的example,大多依赖于Boost,因此我们最好也是先安装一下Boost,从而更方便的学习和上手Asio。
安装Boost
首先去SourceForge上面的Boost库主页下载最新的Boost库:
https://sourceforge.net/projects/boost/files/boost/
下载好,解压。用力的tar xvf它吧。
因为Boost相对较大,所以解压需要一点时间。该库十分丰富强大,是学习C++的重要资源!
Boost中的很多子库也是Header-only的,即不需要编译构建的,直接include就能使用。但也有一些事需要编译的。
进入解压后的boost目录。
./bootstrap.sh --prefix=/usr/local/boost/
其中--prefix表示boost库的安装位置。自己自由指定。
上述命令执行完成后,会多出几个文件来,其中包括b2:
./b2 install
构建Asio的测试用例
我下载了standalone独立版的Asio,解压后,进入:
./configure --with-boost=/usr/local/boost/include
--with-boost选项指定上一步安装boost库的位置(安装boost时的--prefix参数)。
然后编译并安装
make
make install
编译到的可执行文件,就在example各个子目录的hpp同级目录中。
独立版的 Asio安装与使用的更多相关文章
- ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”
在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus.在这个过程中,虽然安装Jexus是挺简便的一件事,但是安装mono就相对 ...
- Asp.Net跨平台 Jexus 5.8.1 独立版
在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus.在这个过程中,虽然安装Jexus是挺简便的一件事,但是安装mono就相对 ...
- Centos6.x 下安装Jexus独立版
操作步骤: #cd /tmp #wget linuxdot.net/down/jexus-5.8.1-x64.tar.gz 注:如果有新版本,则修改为相应版本号即可. #tar -zxvf jexus ...
- 【转载】win10应用商店独立安装包(一键安装) 2020最新版官方正式版
win10应用商店独立安装包(一键安装) 2020最新版官方正式版 Win10 LTSB 2016 / LTSC 2019系统,没有应用商店 需要下载应用商店安装包 蓝盘:https://www.la ...
- CentOS-6.4-minimal版中源代码安装MySQL-5.5.38
完整版见https://jadyer.github.io/2014/09/29/centos-install-mysql/ /** * CentOS-6.4-minimal版中源代码安装MySQL-5 ...
- 彻底解决mysql中文乱码的办法,修改mysql解压缩版(免安装版或zip版)字符编码
MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如server字符编码还停留在latin12.table的语系设定问题(包含character与collation)3.客 ...
- Windows 7 SP1 x64 旗舰版 微软官方安装U盘的制作
[ 本主题由 中山艹泥喵 于 2013-08-20 23:14:33 设为精华1,原因:不错~ ] 最后由 风中枯萎 于 2015-12-15 17:44:15 修改 安装Windows 7操作系统主 ...
- win7旗舰版64位GHOST版的,安装telnet客户端时,提示:出现错误。并非所有的功能被成功更改。
win7旗舰版64位GHOST版的,安装telnet客户端时,提示:出现错误.并非所有的功能被成功更改. 从安装成功的电脑上拷贝ghost版本缺少的文件,然后再安装telnet客户端,我已打包 链接: ...
- Oracle 11g 发行版2的安装,PLSQL_Developer安装 , Oracle数据库安装失败,完全卸载,常用的命令
Oracle 11g 发行版2的安装 PLSQL_Developer安装 Oracle数据库安装失败,完全卸载oracle11g 常用的命令 Oracle 11g 发行版2的安装 1. 下载 下载地址 ...
随机推荐
- 【JZOJ3318】Brunhilda的生日
description 除去对铁质盔甲强烈的热爱,Brunhilda是一个正常的7岁女孩.近期,她正在策划一个完美的生日派对.她发明了如下的一个游戏:所有的孩子在一个数k被宣读之前不停地跑来跑去.当这 ...
- hdu 4563
hdu 4563 把每个命令走的距离抽象成完全背包 枚举最后一个不是整点走完的命令 #include <iostream> #include <algorithm> #incl ...
- light oj 1098 数学规律
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> ...
- vmware centos 扩容
1.停止后vmware 扩容 2.centos 增加分区 #增加分区fdisk /dev/sda 操作 /dev/sda 的分区表 p 查看已分区数量(我看到有两个 /dev/sda1 /dev/sd ...
- Git 之 版本回退
1. git log 定义:该命令显示从最近到最远的提交日志.每一次提交都有对应的 commit id 和 commit message.
- PAT甲级——A1092 To Buy or Not to Buy【20】
Eva would like to make a string of beads with her favorite colors so she went to a small shop to buy ...
- Axure中表格使用的技巧
对于新手来说,用Axure做一个表格是一件麻烦的事情.本文教你如何快速学会Axure表格的基础应用. (1)Axure制作基本表格的使用 可以使用“线框图”中的“表格”控件来制作一些简单的表格,同时A ...
- python3-常用模块之openpyxl(1)
1.创建工作簿 from openpyxl import Workbook # 创建excel对象 wb = Workbook() # 获取第一个sheet = wb.active # 单元格写入内容 ...
- WPF界面设计中常用的一些代码片段及属性
一.窗体去掉标题栏.消除掉标题栏后的白边,把窗体置于屏幕中间,窗口大小不能改变. WindowStyle="None" AllowsTransparency="True& ...
- Leetcode958. Check Completeness of a Binary Tree二叉树的完全验证性
给定一个二叉树,确定它是否是一个完全二叉树. 百度百科中对完全二叉树的定义如下: 若设二叉树的深度为 h,除第 h 层外,其它各层 (1-h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集 ...