系列文章目录
问题描述
在CLion中发生了一个undefined reference 错误

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

这样程序运行起来就没有问题了
文章讨论了在CLion中遇到的undefinedreference错误,通常由函数定义缺失或不匹配引起。作者提到已在CodeBlocks中成功运行相同代码,而在CLion中问题依然存在。解决方案是直接在源文件中包含.c文件,而非仅包含.h文件。这可能与不同编译器的处理规范有关。
17万+

被折叠的 条评论
为什么被折叠?



