(.text+0x7f8): undefined reference to问题解决方法

我前几天在做一个项目的时候一直会出现下面这个问题:

第一种情况:声明的该函数但是没有定义

首先来看第二个问题:

login.c:(.text+0x7f8): undefined reference to `dealaccuntpassword'


第二个问题是我在出现了第一个问题(homeinterface.c:(.text+0x1364): undefined reference to `processnewnodes')后把logini.c里的dealaccuntpassword函数屏蔽掉,但是对于dealaccuntpassword应用没有屏蔽,在login.h里也没有屏蔽掉,就出现了这个问题。

但是当我把logini.c里的dealaccuntpassword函数接口取消屏蔽时,第二个问题就不会再次出现

所以我认为 .text+0x7f8问题的原因是把logini.c里的dealaccuntpassword函数屏蔽掉,在login.h里没有屏蔽掉。

后来我有再次重复了几次其他接口,是同样的结果。

第二种情况:函数参数不对

第二个问题解决后,我就在想第一个问题是否跟第一个问题类似的问题。我找到了(.text+0x1364)问题前边的hemointerface.c和hemointerface.h文件,到那时我发现,在hemointerface.c的直接应用了processnewnodes这个函数,而没有在hemointerface.h声明,但是processnewnodes这个函数是在文件内,我把另一个文件也包含了。

当我找到processnewnodes函数原型的时候,发现是参数问题。修改后就直接编译通过了。

第三种情况:定义该函数的文件没有参与编译

最后还有一种可能:在编译的时候,没有把该函数编译进去

 这次的报错是说我的问题是在interface.c文件内部,但是我的registration函数是写在reg.c文件里的,仔细观察前两行参与编译的文件很容易就发现了,我的编译文件里没有reg.c。

我把reg.c参与编译后就可以通过编译了

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值