Я новичок C, и я просто пытался написать консольное приложение с Code:: Blocks. Здесь (упрощенный) код: main.c:
#include <stdio.h>
#include <stdlib.h>
#include "test.c" // include not necessary for error in Code::Blocks
int main()
{
//t = test(); // calling of method also not necessary
return 0;
}
test.c:
void test() {}
Когда я пытаюсь создать эту программу, она дает следующие ошибки:
*path*\test.c|1|multiple definition of `_ test'| obj\Debug\main.o:*path*\test.c|1|first defined here|
Нет никакого способа, чтобы я многократно определял тест (хотя я не знаю, откуда встречается символ подчеркивания), и кажется маловероятным, что определение каким-то образом включается дважды. Это все код.
Я исключил, что эта ошибка вызвана конфликтом с именованием других функций или файлов, называемых test или test.c. Обратите внимание, что множественное и первое определение находятся в одной строке в одном файле.
Кто-нибудь знает, что вызывает это и что я могу с этим поделать? Спасибо!