代码块未定义对函数的引用错误。已经尝试过将包含目录添加到项目构建选项

Codeblocks undefined reference to functions error. Already tried add include directory to project build options

提问人:querySave 提问时间:10/1/2020 更新时间:10/1/2020 访问量:292

问:

我最近继承了一个控制台应用程序,我没有其项目文件。我只有可执行文件、main.c 和一堆 .h 头文件。我需要编辑 main.c 并使用我的编辑生成一个 exe 文件。

  • 我在 Codeblocks 上创建了一个新的 C 控制台应用程序项目,然后将 main.c 内容从“hand down down”文件粘贴到新项目的 main.c 上。

  • 我刚刚在main.c文件上编辑了一个字段名。一个非常小的编辑。

  • 我将 .h 文件粘贴到 C:\Program Files\CodeBlocks\MinGW\include。

  • 我转到 Project >> Build Options >> Compiler >> Search directories >> 添加上面的包含路径(在代码块论坛和 stackoverflow 上看到这一步)

现在的问题是;我收到错误,对“functionNames”有多个未定义的引用。 这些函数名称位于 .h 文件中。

我还不仅在编译器上,而且在链接器和资源编译器上都包含路径,但无济于事,仍然出现相同的错误。

main.c 上的一些 include .h 还引用了其他 .h 文件,这些文件也粘贴在 CodeBlocks\MinGW\include 文件夹中。 include 调用是<>的,而不是 “”,因为它们粘贴在 mingw\include 上。这些 .h 文件来自 api 包。

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

我错过了什么?谢谢!

c 控制台-应用程序 代码块 头文件 未定义引用

评论

1赞 Gilad 10/1/2020
所有函数定义?
0赞 querySave 10/1/2020
对不起,你什么意思 :((
0赞 Gilad 10/1/2020
“我错过了什么?谢谢!“函数的主体,如果你在像 void functionName() 这样的标头中有递减;你需要它的定义: void functionName() { ... //代码 }
0赞 querySave 10/1/2020
main.c 在以前的开发人员创建可执行文件时已经工作过。我以为我只是可能遗漏了代码块中的一些设置。
0赞 Gilad 10/1/2020
对函数的未定义引用意味着在编译过程中,链接器希望在您编译的 .c 文件中的某处看到函数的主体,如果没有,则会出现此错误,解决方案是找到并使用 main.c 编译它们(如果可以获取它们),或者自己定义它们,这意味着为它编写代码。

答: 暂无答案