В настоящее время у меня есть 2 C-программы и 1 файл заголовка, которые я должен внести в Makefile. Я новичок в компиляции программ в Make-файлы, но я знаю основы. Я печатаю:error - "(.text + 0x0): множественное определение« метод »(программа C)
cc -c file1.c
cc -c file2.c
cc file1.o file2.o
----- Я получаю следующее сообщение об ошибке -----
file2.o: In function 'method':
file2.c:(.text+0x0): multiple definition of 'method'
file1.o:file1.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
В чем проблема? Я слышал разные вещи, например, потому что они имеют один и тот же заголовок («метод» определен в файле заголовка), который компилятор считает двумя из них. Я не знаю. Ребята, что вы думаете?
Спасибо,
EDIT: Спасибо за ответы. Что делать, если «метод» является «структурной» функцией? Будет ли еще хорошая идея просто переместить его в другое место? Я просто попробовал, и теперь я получаю «указатель разыменования до неполного типа».
Я понял. Спасибо всем! – Ellea