Linker 多个函数定义的链接器选项

Linker 多个函数定义的链接器选项,linker,Linker,是否存在任何链接器选项,该选项对函数的多个定义强制执行错误。 我正在使用ARM-GCC-mingw 我面临的问题是,如果我在头文件(比如A.h)中使用这样的Guard \ifndef H_H_ #定义H#u H# 并在其中声明函数定义 链接器没有在不同的.C文件中给出该函数的多个定义的错误,其中包括上述A.h文件pragma-guard阻止您在同一cpp文件(“翻译单元”)中多次包含单个标头。pragma保护不阻止在多个cpp文件中包含头。多次包含带有声明的头不是错误,应该这样做。只要它们只是声

是否存在任何链接器选项,该选项对函数的多个定义强制执行错误。 我正在使用ARM-GCC-mingw

我面临的问题是,如果我在头文件(比如A.h)中使用这样的Guard
\ifndef H_H_
#定义H#u H#

并在其中声明函数定义


链接器没有在不同的.C文件中给出该函数的多个定义的错误,其中包括上述A.h文件

pragma-guard阻止您在同一cpp文件(“翻译单元”)中多次包含单个标头。pragma保护不阻止在多个cpp文件中包含头。多次包含带有声明的头不是错误,应该这样做。只要它们只是声明而不是定义。如果函数被多次定义,GCC将给出一个链接器错误。听起来你在这里没有问题。链接器已经完成了你的要求,没有任何选择。很可能你对发生的事情的描述是错误的,你得出了错误的结论。显示
A.h
的源代码、您使用的编译行和链接行,您很可能会纠正误解。请不要反复问几乎相同的问题,而是提供MCVE。具有收割台防护装置的零件在给定信息下不可复制。