我正在尝试为cpp程序生成VS项目,但是CMake失败并显示以下错误:
CMake错误于 C:/Users/fabio.rezende/Documents/cmake-3.13.3-win64-x64/share/cmake-3.13/Modules/FindBoost.cmake:2100 (消息):找不到请求的Boost库。
增强版本:1.67.0
增强包含路径:C:/ boost_1_67_0 / include / boost-1_67
找不到以下Boost库:
boost_program_options boost_system
未找到Boost库。您可能需要设置BOOST_LIBRARYDIR 到包含Boost库的目录或BOOST_ROOT到 Boost的位置。呼叫堆栈(最新呼叫优先):
CMakeLists.txt:9(find_package)
我已经尝试了提出的解决方案 here和here,但都没有成功,所以现在我对这里可能发生的事情一无所知。我已从official website下载了boost 1.67.0,该文件是通过bjam安装的(使用bootstrap.bat + b2命令)编译的,如第二个链接中所建议的那样,并将其放在C:\
下。 Cmake文件是:
cmake_minimum_required(VERSION 3.13)
project(BlockChainChat VERSION 1.0.0)
set (CMAKE_CXX_STANDARD 17)
set(BOOST_ROOT "C:\\boost_1_67_0")
set(BOOST_LIBRARYDIR "${BOOST_ROOT}\\stage\\lib")
find_package(Boost 1.67.0 COMPONENTS program_options REQUIRED system)
include_directories( ${Boost_INCLUDE_DIR} )
add_subdirectory(util)
add_executable(BlockChainChat main.cpp)
target_link_libraries(BlockChainChat LINK_PUBLIC ${Boost_LIBRARIES} )
target_link_libraries(BlockChainChat PRIVATE util)
注意:没有SET BOOST_ROOT和BOOST_LIBRARYDIR,我可以在Linux机器上轻松构建它。