C++ 找不到Boost(缺少:文件系统)(找到版本“1.64.0”)

C++ 找不到Boost(缺少:文件系统)(找到版本“1.64.0”),c++,windows,boost,cmake,C++,Windows,Boost,Cmake,这在我的CMakeLists.txt中: cmake_minimum_required(VERSION 3.1.0) project(myProject) set(EXECUTABLE_OUTPUT_PATH ./bin/${CMAKE_BUILD_TYPE}) find_package(Boost REQUIRED COMPONENTS filesystem) 我从源代码处编译了Boost1.64.0。Boost编译成功,Boost安装目录中存在文件系统头。然后我将Boost\u IN

这在我的
CMakeLists.txt
中:

cmake_minimum_required(VERSION 3.1.0)

project(myProject)

set(EXECUTABLE_OUTPUT_PATH ./bin/${CMAKE_BUILD_TYPE})

find_package(Boost REQUIRED COMPONENTS filesystem)
我从源代码处编译了Boost1.64.0。Boost编译成功,Boost安装目录中存在
文件系统
头。然后我将
Boost\u INCLUDE\u DIR
指向它的基本文件夹(其中包含
bootstrap
b2.exe

我得到这个CMake输出:

CMake Error at C:/Program Files/CMake/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  Could NOT find Boost (missing: filesystem) (found version "1.64.0")
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files/CMake/share/cmake-3.18/Modules/FindBoost.cmake:2177 (find_package_handle_standard_args)
  CMakeLists.txt:9 (find_package)


Configuring incomplete, errors occurred!

这是什么意思?CMake怎么能找到1.64.0版而不是Boost?

它找到的是标题,而不是libs。您是安装了Boost还是只编译了Boost?许多Boost库都只是头文件,而文件系统不是头文件。有一个为它建造的图书馆。我相信
Boost\u INCLUDE\u DIR
不会帮助您找到二进制文件。您需要设置
BOOST\u ROOT
BOOST\u DIR
@rustyx我编译了它并将其移动到
C:\Program Files\BOOST
。我不知道你所说的“安装”是什么意思,只是说明了如何编译。@drescherjm我将
BOOST\u ROOT
BOOST\u DIR
都设置到BOOST的目录中,这并没有改变错误。我也有同样的问题,我设置了BOOST\u ROOT、BOOST\u INCLUDE\u DIR和BOOST\u LIBRARY\u DIR,但它仍然不起作用。我在上面问了这个问题,找到了标题,但没有找到libs。您是安装了Boost还是只编译了Boost?许多Boost库都只是头文件,而文件系统不是头文件。有一个为它建造的图书馆。我相信
Boost\u INCLUDE\u DIR
不会帮助您找到二进制文件。您需要设置
BOOST\u ROOT
BOOST\u DIR
@rustyx我编译了它并将其移动到
C:\Program Files\BOOST
。我不知道你所说的“安装”是什么意思,只是说明了如何编译。@drescherjm我将
BOOST\u ROOT
BOOST\u DIR
都设置到BOOST的目录中,这并没有改变错误。我也有同样的问题,我设置了BOOST\u ROOT、BOOST\u INCLUDE\u DIR和BOOST\u LIBRARY\u DIR,但它仍然不起作用。我把问题问了一遍