У меня возникают проблемы с несколькими определениями функций. Все остальные решения здесь при переполнении стека не сработали для меня.Проблема с файлом заголовка: ошибка множественного определения; сначала определяется здесь
Это моя main.c:
#include "lib.h"
int main(){
test();
}
Это файл lib.c:
#include "lib.h"
int var;
void test(){
//code here
}
И это файл lib.h:
#ifndef _HTTPLIB_H_
#define _HTTPLIB_H_
#include <stdio.h>
extern int var;
extern void test();
#endif
I проверили и нет никаких определений какой-либо функции дважды, и я никогда не включаю исходный файл .c.
Я компиляции с
gcc lib.c main.c -Wall -g -o main
main: In function 'test': (.text+0xfdd): multiple definition of 'test' /tmp/ccb8byZi.o:lib.c:(.text+0xef9): first defined here'
реальный код: главный файл: http://pastebin.com/xr3DF0TE lib.c и lib.h файл: http://pastebin.com/KemhKX3f
Это компиляции кода
gcc -lpthread -D_REENTRANT httplib.c http.c -o -g http
реальное сообщение об ошибке:
http: In function `sigusr1':(.text+0xfdd): multiple definition of `sigusr1'/tmp/ccb8byZi.o:httplib.c:(.text+0xef9): first defined here
#include "lib.h" не lib.c – koper89
, которая была опечатка, я не включая lib.c но lib.h –
Что точное сообщение об ошибке? – melpomene