网络库Asio交叉编译(Linux生成ARM)

时间:2024-01-08 14:05:20

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