使用升压,Asio in CMake

mgdq6dx1  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(123)

我是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 REQUIRED)

find_package(Boost 1.40.0 REQUIRED COMPONENTS asio)

然后CMake请求Boost_ASIO_LIBRARY_DEBUGBoost_ASIO_LIBRARY_RELEASE。我的方法是正确的吗?如果是的话,我应该把CMake指向哪里来找到这些库。(我用的是CMake 2。6和1。40.0)

vc6uscn9

vc6uscn91#

根据ASIO documentation
以下库必须可用才能链接使用Boost的程序。Asio:

  • Boost::system::error_code和boost::system::system_error类的系统。
  • boost.regex(可选),如果您使用任何带boost::regex参数的read_until()或async_read_until()重载。
  • OpenSSL(可选),如果您使用Boost。Asio的SSL支持。

如果你看看你的链接错误,你会发现它正在寻找Boost。系统库。我会尝试更改您的CMakLists。txt阅读:

find_package(Boost 1.40.0 REQUIRED system)

相关问题