Проигнорирован заголовочный файл
Всем привет. Начал я разбираться в bmp формате, и сейчас застрял на одном моменте. Пытяюсь я считать хедер из bmp файла в структуру, которая записана в заголовочный файл. Не понимаю почему, но компилятор жалуется на то, что такая структура незадекларированна, хотя в заголовочном файле она прописана. Помогите пожалуйста решить проблему. Всем заранее спасибо!
Операция, которую хочу проделать:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "bmp.h"
struct bmp_header* read_bmp_header(FILE* input) {
if(stream == NULL) {
printf("Error: This is not a BMP file.");
return NULL;
}
fread(&bmpfileheader, sizeof(bmpfileheader), 1, input);
if(strcmp(bmpfileheader.type, "BM") == 0) {
return bmpfileheader.type;
} else {
return NULL;
}
}
Заголовочный файл:
struct bmpfileheader{
uint16_t type;
uint32_t size;
uint16_t reserved1;
uint16_t reserved2;
uint32_t offset;
uint32_t dib_size;
uint32_t width;
uint32_t height;
uint16_t planes;
uint16_t bpp;
uint32_t compression;
uint32_t image_size;
uint32_t x_ppm;
uint32_t y_ppm;
uint32_t num_colors;
uint32_t important_colors;
};
Ошибка:
error: ‘bmpfileheader’ undeclared (first use in this function)
fread(&bmpfileheader, sizeof(bmpfileheader), 1, input);
^^^^^^^^^^^^^
P.S. подключение заголовочного файла к главному проверил, ошибок нет.