1.  Asio是一个跨平台的C++库,用于网络和底层I/O编程。Asio使用先进的C++方式提供了一系列的异步模型

2. 官方网址:http://think-async.com

3. 由于Asio库有些是依赖Boost库的头文件,所以编译的时候要指定Boost头文件路径,所以我们也要下载

Boost库。

说起来Boost库也有Boost.Asio部分,提供的是差不多的功能,但我们什么时候要用Asio库呢?

-----首先,如果你是用的Boost库是1.35以前的版本,由于这些版本没有Boos.Asio,这时可以使用Asio库

-----然后,如果你的编译器支持C++11,那么Asio库就不用依赖其他库了,这样Asio就是一个针对性极强的库,

对于那些只需要这些功能的同学,我们不用耗时去编译那么大的库了,这样即使Boost或者Asio有了新的功能,

我们使用极少的代价做更改就可以使用了。其实Boost.Asio当然值得推荐,毕竟教程多。我们可以学习Boost.Asio,

他们的使用方法差不多,其实Boost.Asio是不是Asio的作者提交给Boost,然后采纳的呢?是的。。。

4. 交叉编译环境:

OS:Ubuntu14.04

Boost头文件路径:/usr/local/include/Boost

5. 编译过程:

1)解压下载的“asio-1.10.6.zip”文件

2)cd 到 该文件目录下执行 configure 配置:

./configure --host=arm-Linux-gnueabihf --prefix=/opt/embedded/asio_myir --with-boost=/usr/local/include

说明:--host指定要交叉编译的平台,我的是arm-linux-gnueabihf,--prefix指定安装目录,

--with-boost就是指明Boost库的头文件位置

3)执行 make ,然后是 make install 即可

http://blog.csdn.net/lc250123/article/details/52223643

网络库Asio交叉编译(Linux生成ARM)的更多相关文章

  1. 【Linux开发】为qt-embedded添加jpeg库的交叉编译方法for arm

    看了一个文章: =====================================谢论坛内各位的帮助,我的qt/e2.3.10和qtopia2.1.1终于全部编译通过. 下面是jpeg和uui ...

  2. boost库交叉编译(Linux生成ARM的库)

    1. 环境: Linux系统:Ubuntu 14.04 编译工具:arm-fsl-linux-gnueabi-gcc 2.下载boost源码: 地址:https://sourceforge.net/p ...

  3. zlog 程序日志的库 交叉编译(Linux生成ARM库,观察执行步骤)

    1. zlog 是个很好的写程序日志的库,功能比较强大,上手快. 2. 下载地址:https://github.com/bmanojlovic/zlog 3. cd 到文件夹下,对 autogen.s ...

  4. Boost中的网络库ASIO,nginx

    boost C++ 本身就是跨平台的,在Linux.Unix.Windos上都可以使用. Boost.Asio  针对网络编程,很多服务端C++开发使用此库. 这个库在以下的平台和编译器上测试通过: ...

  5. Linux多线程服务端编程:使用muduo C++网络库

    内容推荐本 书主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread.这 ...

  6. 网络库crash以及boost asio strand dispath分析

    最近在做服务器的稳定性的相关测试,服务器的网络底层使用的是boost asio,然后自己做的二次封装以更好的满足需求. 服务器昨天晚上发现crash了一次,之前测试了将近半个多月,有一次是莫名的退出了 ...

  7. Linux生成动态库系统

    Linux生成动态库系统 一个.说明 Linux下动态库文件的扩展名为 ".so"(Shared Object). 依照约定,全部动态库文件名称的形式是libname.so(可能在 ...

  8. 开源网络库ACE、Boost的ASIO、libevent、libev、ZeroMQ

    开源C/C++网络库:ACE          C++语言 跨平台Boost的ASIO  C++语言 跨平台libevent     C语言   主要支持linux,新版增加了对windows的IOC ...

  9. 《Linux 多线程服务端编程:使用 muduo C++ 网络库》电子版上市

    <Linux 多线程服务端编程:使用 muduo C++ 网络库> 电子版已在京东和亚马逊上市销售. 京东购买地址:http://e.jd.com/30149978.html 亚马逊Kin ...

随机推荐

  1. 终端中经常使用的shell 命令

    Mac 在shell命令终端中,Ctrl+n相当于方向向下的方向键,Ctrl+p相当于方向向上的方向键. 在命令终端中通过它们或者方向键能够实现对历史命令的高速查找.这也是高速输入命令的技巧. 在命令 ...

  2. iOS开发webView的使用二

    #import "ViewController.h" @interface ViewController ()<UIWebViewDelegate> @property ...

  3. ijkplayer阅读笔记02-创建音视频读取,解码,播放线程

    本节主要介绍音视频读取和解码线程的创建及启动,代码流程例如以下: IjkMediaPlayer_prepareAsync{ ijkmp_prepare_async_l{ ijkmp_change_st ...

  4. Android菜鸟的成长笔记(27)——SurfaceView的使用

    前面有关自定义View中进行了绘图,但View的绘图机制存在如下缺陷: 1.View缺乏双缓冲机制. 2.当程序需要更新View上的图像时,程序必须重绘View上显示的整张图片. 3.新线程无法直接更 ...

  5. 超级简单的Android Studio jni 实现(无需命令行)

    1.配置Anroid Studio(这步是关键) 使用[command+,] 打开Preferences,选择External Tools,点击加号框如下图: Paste_Image.png 点击+号 ...

  6. 【codeforces 757A】Gotta Catch Em' All!

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  7. Mysql用户本机登陆不成功的解决

    mysql新建一个用户,本机不能登陆,但是远程能够登陆,不知什么原因,最后查阅 http://blog.itpub.net/12679300/viewspace-1453490/ 这篇文章得以解决,进 ...

  8. C 语言常见 API(fprintf、fputs、fprintf)

    1. fprintf:输出到文件描述符对应的文件 stderr:错误输出也是一种特殊的文件描述符 #define FatalError(str) fprintf(stderr, "%s\n& ...

  9. 【t011】最小覆盖子串

    Time Limit: 1 second Memory Limit: 32 MB [问题描述] 给定一个含有N个元素的序列A,你的任务就是求出序列A的最小覆盖子串的长度. 本题中的一些定义: 串S,是 ...

  10. 阿里云centos7.2自己安装mysql5.7远程不能访问解决方案

    版权声明:转载也行 https://blog.csdn.net/u010955892/article/details/72774920 最近,无意中看到阿里云服务器降价,所以一时手痒,买了一年的服务器 ...