【问题标题】:cmake include_directories for boostcmake include_directories 用于提升
【发布时间】:2016-06-04 16:37:16
【问题描述】:

我正在为 Windows 构建采用 cmake 脚本, 并面临一个在 *nix 下没有发生的问题

set(BOOST_ROOT, "C:/dev/tools/boost_1_60_0")
include_directories(${INCLUDE_DIRECTORIES} ${BOOST_ROOT} include)

它不起作用-在编译过程中,vc找不到boost headers。

include_directories(${INCLUDE_DIRECTORIES} "C:/dev/tools/boost_1_60_0" include)

这很好用。

任何想法为什么会发生?

可以肯定的是,对于这个配置,预编译的库不是必需的,所以我不执行 find_package,只使用头文件

【问题讨论】:

    标签: c++ windows boost cmake


    【解决方案1】:

    如果不是拼写错误,则 set 指令中不需要“,”:

    set(BOOST_ROOT "C:/dev/tools/boost_1_60_0")
    

    这应该可以按预期工作。

    【讨论】:

    • 男人!我的疏忽。是的,这是问题的根源。非常感谢!
    【解决方案2】:

    为什么不FindBoost()?

    find_package(Boost 1.60 REQUIRED)
    include_directories(${Boost_INCLUDE_DIRS})
    

    【讨论】:

    • 首先,它对我没有帮助,find_package 会寻找可以安装 boost 的提示,而提示对我不起作用,这是个问题。另一方面,find_package 仅适用于二进制库,特别是当我们需要从一些参数(如 boost 版本、编译器版本等)构建库名称时寻找
    • @amigo421 您不需要提示,只需将您的 Boost 路径添加到 CMAKE_PREFIX_PATH
    猜你喜欢
    • 2018-05-08
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    相关资源
    最近更新 更多