CMake 没有从 conan 中找到 boost 库

问题描述

所以我试图让我的 cmake 与 conan/boost 一起工作。为此,我有一个简单的柯南文件

from conans import ConanFile

class Boost_Conan_Cmake_MinimalConfig(ConanFile):

    name = "Boost_Conan_Cmake_MinimalConfig"
    generators = "cmake"
    options = {"shared": [True,False],"st": [True,False]}
    default_options = {"shared": False,"st": True}

    def requirements(self):
        self.requires("boost/1.69.0@_/_")
    self.options["boost"].shared = False

我通过 conan install . --build=missing 调用它。这运行得非常好并且安装 boost 没有问题。在调查文件夹时,您还可以找到所有 boost 库等。
接下来是我的 CMakeList.txt。很简单:

cmake_minimum_required(VERSION 3.0)

# CHANGE PROJECT NAME,SOURCES AND DEPENDANT TARGETS
project(boost-conan CXX)
include(conanbuildinfo.cmake)
conan_basic_setup()

set(TARGET_NAME ${PROJECT_NAME})
set(${TARGET_NAME}_SRC src/main.cpp)

find_package(Boost 1.69.0 required COMPONENTS filesystem)

add_executable(test "src/main.cpp")
target_include_directories(test PUBLIC $(Boost_INCLUDE_Dirs))
target_link_libraries(test Boost::filesystem)

但是,当我尝试运行此 CMake 文件时出现错误

-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
-- The CXX compiler identification is MSVC 19.26.28805.0
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual 
Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual 
Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Current conanbuildinfo.cmake directory: D:/boost-conan
-- WARN: CONAN_COMPILER variable not set,please make sure yourself that your compiler and version 
matches your declared settings
CMake Error at C:/Program Files/CMake/share/cmake- 
3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find Boost (missing: filesystem) (found suitable version
  "1.69.0",minimum required is "1.69.0")
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393(_FPHSA_FAILURE_MESSAGE)
  C:/Program Files/CMake/share/cmake-3.16/Modules/FindBoost.cmake:2179 (find_package_handle_standard_args)
  CMakeLists.txt:11 (find_package)


-- Configuring incomplete,errors occurred!
See also "D:/boost-conan/CMakeFiles/CMakeOutput.log".

有人知道如何解决这个问题吗?或者有没有人知道为什么会发生这个错误?单独的错误消息并没有真正帮助... 提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)