编译错误:目录与 c++ 标准标头<list>同名

Compile error : Directory has same name as c++ standard header <list>

本文关键字:lt list 同名 gt 标准 错误 c++ 编译      更新时间:2023-10-16

我的项目中的一个文件出现以下编译错误:

标志.h:4:16:错误:..//somepath/list:是一个目录

该错误是由于在Flags.h文件的第行有一个类似于include的#include <list>。我在路径../../somepath/有一个名为list的目录,该路径是Makefile中的include路径。

(Flags.h的目录中有很多其他文件需要../../somepath/,因为其中包含)

根据我的说法,重命名目录list是解决错误的方法,但这需要大量的返工。

那么,有没有其他合适、更容易的方法来解决这个问题,这样,在项目进行中,我将来也不会面临这个问题?

尝试更改include路径,使STL的位置位于../../somepath目录之前。这样,预处理器应该在开始在../../somepath 中搜索之前找到"正确"的list