发 帖  
原厂入驻New
[问答] 未解决的外部函数错误怎么办
108 函数
分享
我在ASM编程,并不真正了解C,但我想在某个时候进入它,无论如何,我这里有一个程序,我很想得到工作,我确实给原来的作者发电子邮件寻求帮助,但他没有回复我,所以我希望这里的人可以看看这个代码,并告诉为什么我会得到这个错误。我应该怎么去修理它。无论如何,谢谢你的阅读。微电脑是PIC16F690编译器是运行在MPLLAB中的SourceBoost。错误:未解析的外部函数:‘flash_read(unsigned.)’错误:未解析的外部函数:‘flash_read(unsigne.)’错误:未解析的外部函数:‘flash_read(unsigne)错误:未解析外部函数:'flash_read(unsigned.)'错误:未解析外部函数:'flash_read(unsigned.)'错误:未解析外部函数:'flash_read(unsigned.)'错误:未解析外部函数:'flash_read(unsigned.)'错误:未解析外部函数n:'flash_read(unsigned.)'Error:Un..function:'flash_read(unsigned.)'Error:Un..function:'flash_read(unsigned.)'Error:Un..function:'flash_read(unsigned.)'Error:Un..function:'flash_read(unsigned.)'Error:Unreso:Unresolved外部函数:'flash_read(unsigned.)'Error:Unresolved外部符号,function:flash_readError:Unresolved外部函数:'flash_read(unsigned.)'Error:Unresolved外部符号,function:flash_read
0
2020-5-12 10:49:14   评论 分享淘帖 邀请回答
19个回答
您原型化了函数。和其他几个,但它们不存在于代码中。与ASM相同。
2020-5-12 11:01:11 评论

举报

谢谢你抽出时间回复NKurzman。我只是得到一个错误与此FLASHYRADE,而不是与任何其他。我不是把FLASH读定义为一个无符号的短变量而不是函数吗?用这行“unsigned.flash_read(unsigned.address);”如果删除程序下面的两行,则finetemp=flash_read(0x0800+(val<<1));temp|=flash_read(0x0801+(val<1))<8;正如我所说的,C对我来说是新的,这不是我的程序,所以请原谅我哼着我穿过它。我还是不太明白这里发生了什么事?
2020-5-12 11:17:00 评论

举报

是的,你没有定义它。这就是为什么你会得到一个未定义的错误。原型告诉编译器函数的格式。你的错误是链接器找不到它。注意TimeType查找不是问题。
2020-5-12 11:34:57 评论

举报

再次感谢NKurzman,我理解你说的话,现在我来看看我是否能修复它。
2020-5-12 11:40:25 评论

举报

如果你打算以后再写这个函数,你现在可以创建一个空的。如果你认为它是一个编译器提供的,那么你需要找出你包含它的方法。
2020-5-12 11:49:30 评论

举报

没有人注意到错误的论坛?
2020-5-12 12:05:45 评论

举报

我添加了“unsigned.flash_read(unsigned.address){}”一行,程序现在编译了,但我不确定它是否能正常工作,因为我似乎缺少从flash ram读取的flash_read函数。我不明白为什么这个函数从程序中丢失,因为它被列为准备好编译和运行。再次感谢NKurzman,你帮了大忙:
2020-5-12 12:24:48 评论

举报

“没有人注意到错误的论坛?”我本想把它张贴到其他论坛上,但是由于这更多的与Cor有关,我应该说我对它缺乏理解,我把它张贴在这里,而且我总是发现这些论坛过去充满了非常有帮助的人:)
2020-5-12 12:30:02 评论

举报

是的,但是如果你仔细看,有3个“C”相关的论坛,“XC8”(8位-PIC10/12/16/18),“XC16”(16位-PIC24/dsPIC33)和“XC32”(32位-PIC32)。
2020-5-12 12:37:41 评论

举报

当然,您必须为这些函数找到或创建“果汁”。如果找到了示例代码,您应该返回,并阅读可能指向某个库的文档,这些库并不包含在您下载的库中。也许是几个项目共享的、因此包含在单独的包中的库,或者属于特定供应商的工具链扩展的库。
2020-5-12 12:53:24 评论

举报

啊,是的,我必须承认我确实认为我把它放在了8位论坛…很抱歉,好几年没有贴到这里了,所以我有点生疏了:(下次我会多加注意的,谢谢你指出来,乔治:)
2020-5-12 13:01:48 评论

举报

这个代码并没有太多的文档,Jorge,我想我会尝试在汇编中重新编写它,现在我知道它做什么:)
2020-5-12 13:08:16 评论

举报

你好,我想你没有编写任何代码。我回到你的第一篇文章,注意到了我之前忽略的一个细节,你正在使用“BoostC”。我也使用它,这也解释了我对那些函数原型的“dejv”感觉。它们是BoostC库的一部分(BoostC参考资料第96页)。只需在“include<system.h>”后面添加一个“include<flash.h>”语句。然后删除空函数定义和添加到程序中的任何声明。
2020-5-12 13:14:36 评论

举报

编辑.…不,它仍然不工作,我以为它是,但我忘了删除空功能,我使用的代码从D101双信封项目在这个网页上.…但上帝知道发生了什么????
2020-5-12 13:31:35 评论

举报

BoostC有论坛吗?我完全不是失败的。对于一些编译器来说,仅仅包含头文件是不够的。您需要包括库、对象或C源文件。
2020-5-12 13:46:52 评论

举报

是的,我也会在BooSTC论坛上问他们是否能帮上忙。
2020-5-12 14:01:00 评论

举报

另外,如果我只在没有MPLAB的情况下尝试使用BooSTC编译器独立程序,仍然会得到同样的错误。
2020-5-12 14:08:00 评论

举报

你是对的,NKurzman,我需要包括库flash.pic16.lib,我现在已经完成了,并且所有工作都正常:)谢谢你的帮助和所有其他人:)
2020-5-12 14:21:40 评论

举报

他已经忘记了这个项目中的“LIB”包含。我想这是在我们不使用它们的时候发生的。
2020-5-12 14:38:51 评论

举报

只有小组成员才能发言,加入小组>>

113个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表