当前位置: 代码迷 >> 综合 >> c++编译错误: included multiple times, additional include site here
  详细解决方案

c++编译错误: included multiple times, additional include site here

热度:1   发布时间:2023-12-16 19:09:10.0

编译c++代码时出现如下错误信息:

main.cc:2:10: note: './hello.h' included multiple times, additional include site here
#include "hello.h"

原因分析:

我的代码结构如下, 在main.cc文件中由于world.h中已经导入过一次hello.h文件了,如果main.cc中include一次hello.h文件,则hello.h的头文件会被编译两次。这就是出错的原因了。

// main.cc
#include<iostream>
#include "hello.h"
#include "world.h"
...// hello.h
...// world.h
#include "hello.h"

解决方案:

如果hello.h头文件会被其他文件引用,为了避免重复编译,给hello.h文件加上一个宏定义保护就好。

其他文件保持不变,仅修改hello.h文件。// hello.h
#ifndef HELLO_H_
#define HELLO_H_
...
#endif // HELLO_H_
  相关解决方案