由于包含相同的标题而导致的多重定义

时间:2017-11-28 08:44:40

标签: c compilation include

我遇到了c编译的问题,但它与我在论坛上建立的其他帖子不太接近:

我正在为微控制器arm7编写程序。 我有一个大的头文件microcontroller.h,其中包含寄存器,内联函数和微控制器特有的其他内容的定义

软件构建如下: - main.c包括microcontroler.h - pio.c包括microcontroler.h - timer.c包括microcontroler.h

可以编译每个文件,但是当链接目标文件时,编译器会返回多重定义错误。 错误与_inline functions有关。 我理解这个错误,因为函数被定义了三次。

我尝试仅将microcontroler.h包含在main.c中,但我在pio.ctimer.c中为我使用的每个寄存器都遇到了编译错误。

我无法分解microcontroler.h,因为它是一个非常大的文件。

我正在寻找这个问题的解决方案。

非常感谢您的帮助。

巴普蒂斯特

0 个答案:

没有答案