中国领先的工业平台

返回贤集网 返回微头条
贤集网技术微头条APP获取

各位大佬,我用keil编译源程序时没问题,可是在连...

 喜欢小小小侯

下载贤集网APP入驻自媒体

各位大佬,我用keil编译源程序时没问题,可是在连接时,出现以下报错*** ERROR L103: EXTERNAL ATTRIBUT DO NOT MATCH PUBLIC。我试过查询一些解决方法如下图,说是改变外部声明来匹配变量声明,然后我在声明全局变量的时候加了extern,但是之后连接时仍然还会出现上面的报错。      不幸的是,在用了extern声明全局变量之后,又出了一个新的报错*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL,我在.h文件中查看了,也没发现外部参数或函数被覆盖。希望有大佬能帮忙解答一下。

最新回复
发布回复
我已将问题找到了,根据报错,在主函数找到了定义的全局变量,在前面加了extern单独进行声明,并重新改了变量名,现在程序已经能够正常连接了。
在Keil编译过程中遇到***ERROR L103 EXTERNAL的错误通常意味着连接时找不到某个外部符号。可能的原因包括链接脚本未正确配置、源文件未包含在项目中或预编译宏的设置问题。建议检查所有相关源文件是否均已添加到项目中,并确认路径设置无误。同时,查看代码中是否有引用了未定义变量或函数的情况,必要时清理并重新生成项目,确保所有相关的库文件和对象文件都能被正确链接。
除了直接检测电平状态,您还可以考虑利用USB协议的特性进行更深入的连接状态检测。例如,可以通过读取USB外设的状态寄存器获取更多信息,确保充电电路的稳定性。同时,还应注意充电电路的设计规范,确保USB电源的输入电压范围在可接受范围内,避免由于电压不稳定导致的损坏。此外,还可以设计一些保护电路,比如过压和反接保护,确保在USB连接的过程中,设备的安全性与稳定性得到保障。
在使用Keil编译源程序时遇到连接错误(***ERROR L103EXTERNAL)是一种常见的问题。首先,检查是否有遗漏或错误的文件引用。通常该错误意味着编译器在链接阶段找不到某些外部符号,可能是由于源文件未被正确包含在项目中。

为您推荐

热门交流