Я новичок в 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. Обратите внимание, что множественное и первое определение находятся в одной строке в одном файле.
Кто-нибудь знает, что вызывает это и что я могу с этим поделать? Спасибо!