Codeblocks неопределенная ссылка на ошибку функций. Уже пытался добавить каталог включения в параметры сборки проекта

#c #console-application #codeblocks #header-files #undefined-reference

#c #консоль-приложение #codeblocks #заголовочные файлы #неопределенная ссылка

Вопрос:

Недавно я унаследовал консольное приложение, для которого у меня нет файла проекта. У меня есть только исполняемый файл, main.c и куча заголовочных файлов .h . Мне нужно отредактировать main.c и создать exe-файл с моими изменениями.

  • Я создал новый проект консольного приложения C в Codeblocks, затем вставил содержимое main.c из файла «hand me down» в main.c нового проекта.

  • Я только что отредактировал имя поля в файле main.c. Очень незначительное редактирование.

  • Я вставил файлы .h в C:Program ФайлыCodeBlocksMinGWвключают.

  • Я перехожу в проект>> Параметры сборки>> Поиск каталогов>> Компилятор>> Добавить указанный выше путь включения (видел этот шаг на форуме codeblocks и в stackoverflow)

Теперь проблема в том, что я получаю ошибки, есть несколько неопределенных ссылок на ‘functionName’. Эти имена функций находятся внутри файлов .h .

Я также включил путь не только в компилятор, но и в компоновщик и компилятор ресурсов, но безрезультатно, по-прежнему получая ту же ошибку.

Некоторые из включенных .h на main.c также ссылается на другие файлы .h, которые также вставлены в папку CodeBlocks MinGW include . Вызовы include являются <>, а не «», поскольку они вставлены в mingwinclude . Эти файлы .h взяты из пакета api.

     #include <stdio.h>
    #include <windows.h>
    #include <global.h>
    #include <osfile.h>
    #include <mail.h>
.. etc
  

Чего мне не хватает? Спасибо!

Комментарии:

1. все определения функций?

2. im, извините, что вы имеете в виду:((

3. «Что я упускаю? Спасибо!» тело функций, если у вас есть объявление в заголовке типа void functionName(); вам нужны его определения: void functionName() { … // код }

4. main.c уже работал раньше, когда предыдущий разработчик создавал исполняемый файл. я подумал, что, возможно, мне просто не хватает некоторых настроек в codeblocks.

5. неопределенные ссылки на функции означают, что в процессе компиляции компоновщик ожидает увидеть тело функции где-то в скомпилированных вами файлах .c, если их нет, появится эта ошибка, решение состоит в том, чтобы либо найти и скомпилировать их с помощью main.c, если вы можете их получить, либоопределите их самостоятельно, а это значит, напишите для этого код.