Header file is not compiling

4 views (last 30 days)
Carl-Jakob Ulmer
Carl-Jakob Ulmer on 16 Jun 2015
Edited: Andrew Schenk on 17 Jun 2015
Hello,
in my data dictionary I defined an enumeration with Data Scope "Imported" and a header file. In the header file there are a bunch of enumerations/structs defined, not only the one used in Simulink (because it's importet from other source code). The header file is stated in the configuration in "Simulation Target" -> "Custom Code". When I want to compile I get an error, because in the header file there are enumerations/structs which Simulink does not know. But I want Simulink to search only for the enumerations I have specified in my data dictionary and not care about other stuff in the header file. Is there a way how to handle that?
Thank you

Accepted Answer

Andrew Schenk
Andrew Schenk on 17 Jun 2015
Edited: Andrew Schenk on 17 Jun 2015
This is more of a limitation of normal C coding - if a header file is included, all of the contents of the header file must be defined.
There are a few workarounds:
  1. Create a separate header file (data_dictionary_enums.h for example) with only the enumerations needed by the Data Dictionary, and then add #include "data_dictionary_enums.h" to the main header file.
  2. Add a preprocessor macro to the header file such that the rest of the header file is only included when a specific define is set.
  3. Add the other necessary #includes to the header file such that all the structs are fully defined.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!