0
在旧版本的rhel上运行,版本号为/usr/include/boost
。安装了更现代化的boost版本,并在g++
中添加了相应的-I
选项,以便它几乎总是进入boost目录的新目录。问题在于很多代码库是在几年前针对较旧版本的boost进行编写的,并且包含的标头并不存在于更现代的boost中。在这种情况下,cpp
愉快地包含/usr/include/boost
的标题。避免这种情况的最好方法是什么?我宁愿不更改#include <boost/file.hpp>
以明确指向不同的地方,除非我必须并且非常乐意清理依赖于已绝迹标题的代码,如果我只知道它们是什么。这可能是一个持续存在的问题,因为一些从事这个项目的程序员可能习惯于包含已经绝迹的头文件,所以仅仅检查一次是不够的。避免/ usr/include/boost
你可以删除提升的旧副本,并与更换新的一个?这就是我在RHEL系统上所做的。 –
您可以修复源代码或在单独的“假目录”中创建重复的空头文件,并将其添加到'gcc -Ifakedir ...' –
@JohnKugelman我不能,将不得不涉及系统管理员。这是可能的,尽管我希望自己能够处理这个问题。 –