Witam.
Piszę program do prostej obróbki obrazów, który ma być podzielony na 3 pliki: main.c (komunikacja z użytkownikiem), pgm.c (funkcje), pgm.h (deklaracje struktury i funkcji). Wyglądają one u mnie na ten moment następująco:
main.c
#define _CRT_SECURE_NO_WARNINGS
#include "pgm.c"
#include <stdio.h>
#include <stdlib.h>
int main()
{
kod
}
pgm.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include "pgm.h"
void wczytajWykres()
{
kod
}
pgm.h
#pragma once
struct Obraz
{
char* nazwa;
char* typPliku;
int szerokosc;
int wysokosc;
int skalaSzarosci;
int** piksele;
};
//wczytuje wykres
void wczytajWykres();
Podczas kompilowania dostaję dwa errory:
Error 2 error LNK1169: one or more multiply defined symbols found
Error 1 error LNK2005: _wczytajWykres already defined in main.obj
Nie mam pojęcia, co jest nie tak. Czytałem już na forum odpowiedzi na podobne pytania, jednak nadal nie potrafię sobie z tym poradzić. Dodam tylko, że pliki .c znajdują się w source files, zaś plik .h oczywiście w header