boost:asio编译

本文档详细介绍了在VS2010环境下编译Boost.ASIO库的步骤,包括下载boost源码、使用bjam编译工具、设置编译参数以及解决编译过程中遇到的问题,如指定编译器版本、添加编译选项等。通过编译,将库文件导入到VS项目中,并展示了一个简单的ASIO示例程序的编译过程。
摘要由CSDN通过智能技术生成

参考:http://hi.baidu.com/need_for_dream/blog/item/c14a28086a504c33e92488b5.html

 

环境: VS2010,

          boost1.38.0,解压缩后放在,D:/boost_1_38_0。

 

 

編譯bjam(这个我没有试过,转过来以后参考)
利用Visual Studio 2005 Command Prompt開啟DOS視窗,將目錄cd到C:/boost_1_34_1/tools/jam/src下,執行build.bat,然後會在C:/ boost_1_38_0/tools/jam/src/bin.ntx86/產生bjam.exe,將bjam.exe複製到c:/ boost_1_38_0/下

 

1,编译。

   boost库大部分源文件是只有投文件,所以有很多库不用编译就可以使用。但是有些库是需要编译源码的。asio就需要编译。

   怎么去编译呢?在boost官方网站下载bjam.exe,放入boost源文件的根目录下面。因为asio依赖于其它的一些库,所以编译参数还有点复杂。然后在cmd下输入
D:/boost_1_38_0>bjam --with-system --with-thread --with-date_time --with-regex -
-with-serialization stage

  编译完成后就可以在boost_1_38_0/stage里面找到编译好的库文件。如果在编译的时候出现编译器方面

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`boost::asio::ip` 是 Boost.Asio 中的一个模块,它提供了高级接口用于处理 Internet 协议(IP)和 TCP/IP 相关的功能,如网络套接字、地址解析等。如果你在使用这个时遇到编译错误或警告,报红通常意味着代码存在语法错误、依赖不正确、或者你尝试使用的特定功能可能在当前环境下不被支持。 报红的具体原因可能包括: 1. **缺少头文件**:确保你已经包含了 `boost/asio/ip.hpp` 或者相应的 IP 特性头文件。 2. **未正确初始化**:可能在创建异步操作前没有正确设置 ASIO 的运行环境,例如未调用 `io_service.run()` 或者 `io_service.run_one()`。 3. **错误的类型或函数使用**:检查你的函数参数类型是否匹配的预期,例如使用了错误的 IP 地址类型。 4. **版本兼容性问题**:如果使用的 Boost 版本与你所依赖的功能不兼容,可能会引发错误。 5. **API 已更新**:Boost可能会有更新,旧的 API 可能已经被弃用或者改变,你需要查阅最新的文档来适应新的接口。 为了解决这个问题,请按以下步骤进行: 1. **查看编译错误信息**:错误消息会告诉你具体的出错位置和原因。 2. **检查版本**:确保你使用的 Boost 版本支持 ASIO 的 `ip` 功能。 3. **查阅文档**:访问 Boost.Asio 或 `boost::asio::ip` 的官方文档,寻找解决方案或替代方法。 4. **更新代码**:修复语法错误,调整函数调用或引入所需的依赖。 如果你能提供具体的报错信息,我可以帮助你更准确地定位问题。相关问题: 1. 你遇到的是编译错误还是运行时错误? 2. 错误信息中提到了哪些函数或类? 3. 是否使用了特定的 Boost.Asio 版本?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值