If I have this #define in my code:
#define THINGS(arg1, arg2, arg3, arg4) \
typedef struct arg1\
{\
union\
{\
uint8_t buf[arg3];\
};\
} arg1
And this in my CPP file:
THINGS(my_data_type2, void, 123, void);
Then, from Workspaceproperties, I add the preprocessor symbol:
#define THINGS(arg1, arg2, arg3, arg4) typedef struct arg1{union{uint8_t buf[arg3];};}arg1
(I copied it out of the workspace_cpp.h file).
It doesn't work - Slick cannot find the symbl "my_data_type_2".
If I put this:
typedef struct my_data_type3{union{uint8_t buf[arg3];};}my_data_type3;
my_data_type3;
in the same source file, now Slick can find my_data_type3.