It's not exactly clear what you are trying to do. It sounds like you don't want to use
#ifndef MYHEADER_H
#define MYHEADER_H
#endif // MY_HEADER_H
If that's the case, maybe
#pragma once
is what you're looking for? It's not
quite as portable as using include guards, but it is supported by gcc, clang and MS-C, so it should be "as portable as needed".
Also, your issue description says you are implementing in 'C', but classes and friends are C++ items, and not available in C. If you are using C++, make sure you are compiling with g++!