Bincrafters 模块化柯南包和 cmake_find_package 生成器

Bincrafters modular Conan packages and the cmake_find_package generator

我 运行 使用由 bincrafters 构建的 Boost conan 包的 1.69.0 版本遇到了问题。我在使用 libcurl 和 zlib 等其他 conan 软件包时没有问题。

我写了一个 conanfile.txt 像这样:

[requires]
boost_context/1.69.0@bincrafters/stable
boost_coroutine/1.69.0@bincrafters/stable
boost_date_time/1.69.0@bincrafters/stable
boost_filesystem/1.69.0@bincrafters/stable
boost_iostreams/1.69.0@bincrafters/stable
boost_program_options/1.69.0@bincrafters/stable
expat/2.2.5@bincrafters/stable
libcurl/7.56.1@bincrafters/stable

[generators]
cmake_find_package

在 CMakeLists.txt 中,我正在尝试 link 像这样:

target_link_libraries(
  llcommon PUBLIC
  expat::expat
  zlib::zlib
  boost_coroutine::boost_coroutine
  boost_context::boost_context
  )

已找到 Expat 和 Zlib,link 顺利。但是对于 boost* 库,我从 CMake 收到以下错误:

CMake Error at llcommon/CMakeLists.txt:243 (add_library):
  Target "llcommon" links to target "boost_context::boost_context" but the
  target was not found.  Perhaps a find_package() call is missing for an
  IMPORTED target, or an ALIAS target is missing?

是否有关于 bincrafters 模块化 Boost 包的东西我遗漏了?或者我可以不使用 conan_find_package 生成器吗?

已解决。我没有更新 find_package 调用。

find_package(boost_coroutine)
find_package(boost_context)

失踪

显然,下次我需要注意 CMake 错误告诉我的内容。