Я не понимаю что происходит, кажется у меня уже едет крыша, с прошлой недели бьюсь над тем что бы осознать в чем проблема. Линковщик (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