Вы определили основную проблему: undefined reference to _main_
Каждая C программа, встроенная в приложение (автономный исполняемый файл), нуждается в решении по определению. Этот простой позволит вам успешно построить свой исполняемый файл здесь:
Учитывая, что структура определена как:
typedef struct {
double rgbtRed;
double rgbtGreen;
double rgbtBlue;
}RGBTRIPLE;
RGBTRIPLE image[3][4];//due to the design of sepia, this must be globally defined.
Тогда самая простая основная функция, которая будет компилировать без ошибок:
int main(void)
{
sepia(3, 4, image);
return 0;
}
Как уже упоминалось в комментариях, в функцию sepia необходимо внести некоторые изменения. Например, этот оператор:
int sepiaRed = .393 ...
использует тип int
для хранения значений double
. Это скомпилирует, но приведет к ошибкам во время выполнения. Изменение int
на удвоение для всех этих утверждений является началом. Но есть и другие проблемы.
Оставьте комментарий, если вам нужна дополнительная помощь, или воспользуйтесь отладчиком, чтобы просмотреть код и просмотреть ошибки и внести необходимые корректировки.
Для Например, для неинициализированной структуры image
, что будет результатом этого оператора:
double sepiaRed = .393 * image[h][w].rgbtRed + .769 * image[h][w].rgbtGreen + .189 * image[h][w].rgbtBlue;