我已经得到帮助了。
Re:
Some include files have protection from multiple inclusion. In this case, the file "sm8958a.h" doesn't seem to have that.
However, hy do you modify 24C16.h and CS5532.h to include sm8958a.h? That is a conceptual mistake.
If you have one include file "global.h", then you may add to that file.
If you have a file 24c16.h that is included by 25c16.c and a number of other source files (together with zero or more other include files) then you shouldn't add sm8958a.h to 24c16.h.
Instead, you should include sm8958a.h AND 24c16.h in your 24c16.c file.
And you should include sm8958a.h (before your own include files) AND 24c16.h AND CS5532.h in your main.c file.