I'm really not sure, but maybe rename "main" to something else?
If you try this code on this website http://codepad.org :
struct RGB {
uint8_t r;
uint8_t g;
uint8_t b;
};
struct BtnCol {
RGB fill;
RGB border;
RGB text;
};
BtnCol main_menu = {{0, 32, 0},{34, 139, 34},{144, 238, 144}};
int main()
{
printf("%d", (int) main_menu.fill.g);
}
It's working perfectly.