在cMake中使用boost.asio
我对cMake比较陌生,我正在尝试在我的项目中使用boost asio库 我能够让cMake找到其他boost库,如smart_ptr和lexical_cast,但当我尝试包含在cMake中使用boost.asio,boost,cmake,boost-asio,Boost,Cmake,Boost Asio,我对cMake比较陌生,我正在尝试在我的项目中使用boost asio库 我能够让cMake找到其他boost库,如smart_ptr和lexical_cast,但当我尝试包含boost/asio.hpp时,我遇到了一个链接器错误: LINK : fatal error LNK1104: cannot open file 'libboost_system-vc90-mt-1_40.lib'. 然后我尝试将我的CMakeLists.txt从 find_package(Boost 1.40.0
boost/asio.hpp
时,我遇到了一个链接器错误:
LINK : fatal error LNK1104: cannot open file 'libboost_system-vc90-mt-1_40.lib'.
然后我尝试将我的CMakeLists.txt从
find_package(Boost 1.40.0 REQUIRED)
到
然后,cMake请求Boost\u ASIO\u LIBRARY\u DEBUG
和Boost\u ASIO\u LIBRARY\u RELEASE
。我这样做是否正确?如果是,我应该向cMake指出哪里可以找到这些库。(我正在使用cMake 2.6和boost 1.40.0)根据ASIO:
要链接使用Boost.Asio的程序,必须提供以下库:
- Boost::System::error\u代码和Boost::System::System\u错误类的Boost.System
- 如果使用任何带有Boost::Regex参数的read_until()或async_read_until()重载,则Boost.Regex(可选)
- OpenSSL(可选),如果您使用Boost.Asio的SSL支持
find_package(Boost 1.40.0 REQUIRED system)
当然,您还必须添加目标链接库(您的可执行${Boost\u libraries})
find_package(Boost 1.40.0 REQUIRED system)