C ++无法找到请求的Boost库

时间:2016-06-19 19:58:55

标签: c++ boost cmake

我正在尝试使用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中,这就是它出错的地方。

0 个答案:

没有答案