To avoid including a header file more than once, either: #pragma once can be used, or the older trick (that vbox still uses): #ifndef MACRO # define MACRO Well, vbox still uses the latter and in its 7.0 release the macro was renamed from ___VirtualBox_CXPCOM_h to ___VirtualBox_CAPI_h. Now, ideally, we wouldn't touch those header files for older versions, but we need to use the same macro across all header files (because vbox_tmpl.c includes corresponding vbox_CAPI_XXX.h and then includes vbox_XPCOMCGlue.h which in turn includes vbox_CAPI_v6_1.h to get the basic typedefs). Instead of changing the newer 7.0 header file (and having to change all subsequent versions), let's change the old ones and as we drop support for them, we can forget this ever happened. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- src/vbox/vbox_CAPI_v6_1.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vbox/vbox_CAPI_v6_1.h b/src/vbox/vbox_CAPI_v6_1.h index 7d5f615a7c..4ff5fa32f6 100644 --- a/src/vbox/vbox_CAPI_v6_1.h +++ b/src/vbox/vbox_CAPI_v6_1.h @@ -44,8 +44,8 @@ * otherwise unspecified. */ -#ifndef ___VirtualBox_CXPCOM_h -# define ___VirtualBox_CXPCOM_h +#ifndef ___VirtualBox_CAPI_h +# define ___VirtualBox_CAPI_h # ifdef _WIN32 # pragma warning(push) @@ -32893,4 +32893,4 @@ typedef PCVBOXCAPI (*PFNVBOXGETXPCOMCFUNCTIONS)(unsigned uVersion); } # endif /* __cplusplus */ -#endif /* !___VirtualBox_CXPCOM_h */ +#endif /* !___VirtualBox_CAPI_h */ -- 2.39.1