zah*_*pov 16 c++ boost boost-asio
我想在我的项目中使用Boost的ASIO库.它的文档说,如果不使用正则表达式而不使用SSL,它只能是头文件.然而,bcp为了asio拉动很多图书馆,其中一些是有源的,所以需要编译,bjam等等.
我可以以某种方式在项目中使用ASIO作为标题,没有libs/source吗?我只需要ASIO,而不是Boost的其他部分.
编辑:ASIO希望Boost.System哪个有一个lib链接 - 这种依赖性不能这样我只能使用标题ASIO吗?
Ral*_*alf 13
AFAIK你可以从http://think-async.com/Asio/AsioAndBoostAsio获得asio的非升级版本
" - Boost.Asio使用Boost.System库来提供对错误代码的支持(boost :: system :: error_code和boost :: system :: system_error).Asio在它自己的命名空间中包含这些(asio :: error_code和asio: :system_error).这些类的Boost.System版本目前支持用户定义的错误代码的更好的可扩展性.
- Asio仅限头文件,并且对于大多数用途不需要链接任何Boost库.如果你想使用boost :: thread启动线程,Boost.Asio总是要求你链接Boost.System库,也要求Boost.Thread.
接受的答案100%有效并推荐,但另一个选择 - 如果你真的想/需要使用Boost Asio-是尝试编译你的应用程序-DBOOST_ERROR_CODE_HEADER_ONLY.使用此宏(此处记录)应该可以解决与Boost.System 链接的需要.但是,值得一读这个答案中指出的警告.特别是,您可能需要创建一个'虚拟'CPP文件,其中包含:
#define BOOST_ERROR_CODE_HEADER_ONLY
#include <boost/system/error_code.hpp>
Run Code Online (Sandbox Code Playgroud)
并仅禁用该文件的优化.(就个人而言,我不需要这样做,但是YMMV ...)
| 归档时间: |
|
| 查看次数: |
12588 次 |
| 最近记录: |