如何在C ++项目中包含具有相似名称的头文件

时间:2016-12-30 06:21:42

标签: c++ gcc c-preprocessor

我在我的C ++程序中使用外部库。这个库有一个名为“Common.h”的文件。在不知道这个文件的情况下,我还在程序中创建了一个“Common.h”。在头文件中使用编译器标志“#pragma once”,我可以确保两个文件都可以包含在编译中。但是,我意识到当我在程序中调用我的“Common.h”时,预处理器错误地包含了来自外部库的“Common.h”,它打破了编译。有没有像“命名空间”这样的选项,它允许我包含正确的文件。我觉得这很难,因为我们可能(实际上不需要)了解外部库中的所有文件。

2 个答案:

答案 0 :(得分:9)

通常程序有几个所谓的包含路径来查找头文件。您似乎已经包含了包含“Common.h”文件的目录的路径,以及库头文件目录。至于我,完美的解决方案似乎删除了包含库文件的路径并使用显式相对路径,如:

#include "mylib/include/Common.h"

答案 1 :(得分:1)

您可以简单地重命名“common.h”文件,然后包含