使用/usr/include/boost
中相当旧版本的boost运行旧版本的rhel。安装了一个更现代的boost版本,并为-I
添加了适当的g++
选项,以便它几乎总是转到boost目录的新目录。问题在于很多代码库是在几年前为旧版本的boost编写的,并且包含了在更现代的版本中不存在的头文件。在这种情况下,cpp
很乐意包含来自/usr/include/boost
的标头。避免这种情况的最佳方法是什么?我宁愿不改变#include <boost/file.hpp>
以明确指向不同的地方,除非我必须并且非常乐意清理依赖于已灭绝的标题的代码,如果我只知道它们是什么的话。这可能是一个持续存在的问题,因为一些从事该项目的程序员可能习惯性地包括已经灭绝的标题,因此仅仅检查一次是不够的。
答案 0 :(得分:1)
而不是尝试更改代码查找包含的位置,或者更改makefile以包含其他目录,如何更改/usr/include/boost
的内容以使其指向新内容?
这是我试图做的事情:
/usr/include/boost
重命名为其他内容,可能是/usr/include/boost-old
/usr/include/boost
- &gt;的符号链接/usr/boost/include/boost-old
/usr/include/boost-new
/usr/include/boost
- &gt; /usr/include/boost-new