gpt4 book ai didi

c++ - 避免/usr/include/boost

转载 作者:行者123 更新时间:2023-11-28 07:54:40 26 4
gpt4 key购买 nike

/usr/include/boost 中使用相当旧版本的 boost 在旧版本的 rhel 上运行.安装了更现代的 boost 版本并添加了适当的 -I g++ 的选项这样它几乎总是会转到新目录以获取 boost header 。问题是许多代码库是多年前为旧版本的 boost 编写的,并且包含更现代的 boost 中不存在的 header 。在这种情况下,cpp愉快地包含来自 /usr/include/boost 的 header .避免这种情况的最佳方法是什么?我宁愿不改变 #include <boost/file.hpp>明确指向一个不同的地方,除非我必须并且非常乐意清理依赖于已灭绝 header 的代码,如果我只知道它们是什么的话。这可能是一个持续存在的问题,因为从事该项目的一些程序员可能会习惯性地包含已消失的 header ,因此仅检查一次是不够的。

最佳答案

与其尝试更改代码查找包含的位置,或更改 makefile 以包含其他目录,不如更改 /usr/include/boost 的内容,使其指向新东西?

这是我想做的:

  1. /usr/include/boost 重命名为其他名称,例如 /usr/include/boost-old
  2. 创建指向 /usr/include/boost 的符号链接(symbolic link) -> /usr/boost/include/boost-old
  3. 您现在可以通过编译您的应用来测试此配置。它应该包含旧的 Boost 库。
  4. 将新的 Boost 库安装到新目录,比如 /usr/include/boost-new
  5. 更改符号链接(symbolic link)以指向新库 /usr/include/boost -> /usr/include/boost-new

关于c++ - 避免/usr/include/boost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com