c++ - 如何跳过将头文件包含到特定的 C/CPP 文件

标签 c++ c visual-studio-2010

我想跳过在我新开发的代码中包含头文件。 我正在 visual studio 中从事两个项目(或解决方案)。两者相互依赖。 假设,

Project_1.sln包含一个头文件 MyHeader.h . MyHeader.h包含 enum ,

MyHeader.h file

   typedef enum{
    hello, hi, bye
    }MyEnum;

Project_2.sln包含一个不同名称的头文件 Header2.h . Header2.h还包含 same enum作为MyHeader.h来自 Project_1.sln .

Header2.h file

   typedef enum{
    hello, hi, bye
    }MyEnum;

因此,我尝试使用/FORCE:MULTIPLE,但它不起作用。 我也无法更改枚举名称,因为它们在两个项目的许多地方都被使用了。

当我在我的 MyTest.c 中使用时文件我需要同时使用 header files .

MyTest.c File

#include "Header2.h"
#include "Another.h"

在这里Another.h文件内部包含 MyHeader.h文件。 而不是移动 enum到其他文件,还有其他解决方案吗? 请帮助我,我该如何解决这个问题。

最佳答案

您可以使用 enum 部分的条件编译作为:

#ifndef MY_ENUM
#define MY_ENUM
   typedef enum{
   hello, hi, bye
   }MyEnum;
#endif

在两个文件中。

关于c++ - 如何跳过将头文件包含到特定的 C/CPP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15616198/

相关文章:

c - select() 调用的剩余时间

visual-studio - 无法打开项目 <名称>,因为无法创建 Microsoft Visual C# 2010 编译器。请重新安装 Visual Studio

c++ - 具有多线程成员函数的类

c++ - 使用 boost::mpl::iter_fold 并从 boost::mpl::map 获取键的 boost::mpl::vector

我可以在临时结果中溢出 uint32_t 吗?

c - int8 数组与标量的快速乘法

c# - 如何在值更改时验证 numericupdown(而不是失去焦点)

c - 在C中使用数组进行BCD转换

c++ - std::optional 从方法返回可选值的最佳替代方案? (使用 C++98/C++11/C++14)

c++ - 将 std::sort 与自定义排序对象和数据类型模板一起使用 - 寻求正确的语法