我正在尝试使用CMake将Boost添加到我的C ++项目中但它拒绝找到Boost库,尽管我100%确定它们在那里。
Error:Unable to find the requested Boost libraries.
Boost version: 1.61.0
Boost include path: C:/Program Files (x86)/boost_1_61_0
Could not find the following Boost libraries:
boost_system
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.
这就是我在CMake中的搜索结果。
FIND_PACKAGE(Boost REQUIRED COMPONENTS system)
IF (Boost_FOUND)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
ADD_DEFINITIONS( "-DHAS_BOOST" )
ENDIF()
我试图手动设置所有路径,但没有任何变化,它一直告诉我没有找到任何库。
编辑: 为了澄清,如果我删除“COMPONENTS系统”,它将不会出错,但会在构建时崩溃,给出
“未定义的引用`boost :: system :: generic_category()'”
等。
编辑2: 我想澄清一点,我能够只使用头部分的boost,但我不能使用其他任何东西,因为它会给我未定义的引用错误。我在Stackoverflow上搜索了这个错误,解决方案是将“COMPONENTS系统”部分添加到find_package中,这就是它出错的地方。