designator order for field 'xxx' does not match declaration order in 'yyy' This error occurs when the "order of declared members" is not in the right order. I don't know the rules of this language enough, but it would appear there is a fixed order when you do an inline declaration:   This is correct, for example: camera_config_t config = { .pin_pwdn = PWDN_GPIO_NUM, .pin_reset = RESET_GPIO_NUM, .pin_xclk = XCLK_GPIO_NUM, ....   While this one (reset and pwdn are reversed) generates the error:   camera_config_t config = { .pin_reset = RESET_GPIO_NUM, .pin_pwdn = PWDN_GPIO_NUM, .pin_xclk = XCLK_GPIO_NUM, ....