LINUX.ORG.RU

ld: multiple definition of ... Я не могу больше.

 ,


1

2

Я не понимаю что происходит, кажется у меня уже едет крыша, с прошлой недели бьюсь над тем что бы осознать в чем проблема. Линковщик (ld) ругается на две функции в проекте. пишет:

/tmp/ccZThUym.o: In function `load_reg_file':
registers.c:(.text+0x0): multiple definition of `load_reg_file'
/tmp/ccqNKejG.o:regfileio.c:(.text+0x0): first defined here
...
collect2: error: ld returned 1 exit status
О второй функции пишет тоже самое. Во всем проекте функция с именем load_reg_file определена (и объявлена) всего один раз, ничего к ней не обращается (все закомментировал), никаких ссылок. Когда вставляю функцию в другой проект, все прекрасно собирается (как и раньше когда-то собиралось). Я не понимаю логики линковщика т.к. сначала я попробовал закомментировать всю функцию и сделать рефакторинг. На новую функцию линковщик ругается так же точно, удалил тело функции, всё равно, переименовал функцию, все равно. Что происходит, не понимаю, может нечистая сила, а может у меня крыша поехала. Не знаю в каком направлении уже искать. И показать то нечего, весь проект не покажешь, а саму функцию показывать смысла нет. Но может кто из опытных подскажет куда лезть и что проверять?

Версии опробованных ld: 2.22 и 2.23.2

★★★

Ответ на: комментарий от DELIRIUM

БОЖЕ! Я включил в registers.c модуль .с вместо заголовка! Вы навели меня, низкий вам поклон до земли!

normann ★★★
() автор топика
Ответ на: комментарий от pon4ik

Да, это тоже однозначно помогло бы.

normann ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.