系列文章目录
问题描述
在CLion中发生了一个undefined reference 错误
原因分析:
这个错误通常发生在链接阶段,它表示编译器找不到对应的函数定义。根据错误提示,以下函数未定义:
getDataFilePath
dataRead
showMenu1
publishNotice
viewNotice
这可能是由于以下原因导致的问题:
-
函数定义不在链接的源文件中:请确保这些函数的定义在链接的源文件中,或者在链接过程中包含相应的源文件。
-
函数的声明与定义不匹配:请检查函数的声明和定义是否一致,包括函数名、参数类型和返回类型等。
-
函数定义被省略或未实现:请确保这些函数的定义实际存在于相应的源文件中,并且实现了函数的功能。
但是在这个问题中,我已经实现的.h文件对应的.c文件,并且在CodeBlocks中这样做是可以的,程序运行起来没有问题。然后去CSDN上问,好多人讲要建一个静态库啥的,也没弄明白,这个解决方案是俺一个朋友告诉我的。具体什么原理我也不知道。欢迎大佬解答。我想的是每个不同的编译器的规范不一样。
解决方案:
#include".h"改为#include".c"就行了,例如
这样程序运行起来就没有问题了