CLion中undefined reference to “函数名“错误解决方案

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

系列文章目录



问题描述

在CLion中发生了一个undefined reference 错误

在这里插入图片描述


原因分析:

这个错误通常发生在链接阶段,它表示编译器找不到对应的函数定义。根据错误提示,以下函数未定义:

  • getDataFilePath
  • dataRead
  • showMenu1
  • publishNotice
  • viewNotice

这可能是由于以下原因导致的问题:

  1. 函数定义不在链接的源文件中:请确保这些函数的定义在链接的源文件中,或者在链接过程中包含相应的源文件。

  2. 函数的声明与定义不匹配:请检查函数的声明和定义是否一致,包括函数名、参数类型和返回类型等。

  3. 函数定义被省略或未实现:请确保这些函数的定义实际存在于相应的源文件中,并且实现了函数的功能。


但是在这个问题中,我已经实现的.h文件对应的.c文件,并且在CodeBlocks中这样做是可以的,程序运行起来没有问题。然后去CSDN上问,好多人讲要建一个静态库啥的,也没弄明白,这个解决方案是俺一个朋友告诉我的。具体什么原理我也不知道。欢迎大佬解答。我想的是每个不同的编译器的规范不一样。


解决方案:

#include".h"改为#include".c"就行了,例如
在这里插入图片描述
这样程序运行起来就没有问题了

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值