Díky za response. Jde o to, že já to píšu opravdu jinak, prostě prototyp do .h souboru a vlastní funkci do .c souboru. jenže tady kde dělám do toho píšou francouzi, tunis a ještě další dva teamy a každý to píše jinak. Což pak dělá tyhle problémy.
Já si sestavil svuj vlastní program, ten je následující.
.h soubor:
#ifndef FUNKCE_H
#define FUNKCE_H
int soucet(int a, int b);
#endif
.c soubor, který následně includuji do main. V tomto .c souboru mam includovany i .h soubor
#include <stdio.h>
#include <stdlib.h>
#include "funkce.h"
int soucet(int a, int b);
int soucet(int a, int b) {
int sum;
sum = a + b;
return sum;
};
a nakonec main:
#include <stdio.h>
#include <stdlib.h>
#include "soucet.c"
int main(int argc, char** argv) {
printf("%i\n", soucet(2, 2));
return 0;
}
hlášky, co i vypíše gcc do terminálu:
/tmp/ccdth71N.o: In function `soucet':
soucet.c:(.text+0x0): multiple definition of `soucet'
/tmp/ccztTNY3.o:main.c:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
Jak říkám, já jsem zvyklý psát knihovny jinak, takže v tom teď docela plavu v práci...