网络库Asio交叉编译(Linux生成ARM)
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