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 错误告诉我的内容。
我 运行 使用由 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 错误告诉我的内容。