网络库Asio交叉编译

    xiaoxiao2026-08-23  5

    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 即可

    转载请注明原文地址: https://ju.6miu.com/read-1311497.html
    最新回复(0)