代码之家  ›  专栏  ›  技术社区  ›  Mimi

CMake使用了错误的boost include目录

  •  0
  • Mimi  · 技术社区  · 1 年前

    我的ubuntu 20电脑上安装了2个boost:

    • 全球已安装1个boost 1.71(sudo apt-install libboost all-dev)
    • $HOME本地安装的1个升压1.71

    我将在不久的将来删除全球安装的boost,但我想了解这个奇怪的结果:

    我使用全球安装的boost构建了一个项目。

    在构建目录中,我在CMakeCache.txt中找到了此提升安装的正确路径:

    Boost_ATOMIC_LIBRARY_DEBUG:FILEPATH=/usr/lib/x86_64-linux-gnu/libboost_atomic.so
    Boost_ATOMIC_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libboost_atomic.so
    ...    
    Boost_INCLUDE_DIR:PATH=/usr/include
    ...
    

    但是存储在CMakeFiles目录中的文件中出现了错误的路径:CXX.includecache、dependent.internal、DependenInfo.cmake、flags.make。

    例如:

    在CXX.include缓存中:

    $HOME/boost_1_71_0/include/boost/any.hpp
    $HOME/boost_1_71_0/include/boost/array.hpp
    ...
    

    在flags.make中:

    -I$HOME/boost_1_71_0/include/boost/array.hpp
    

    删除生成目录后,问题仍然会出现,从头开始启动生成。

    为什么会出现这些到本地升压安装的路径?

    0 回复  |  直到 1 年前