*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: ARRY
时间: 2023-11-07 20:55:45 浏览: 316
这个警告*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: ARRY 可能是因为你在代码中引用了一个未解析的外部符号ARR。引用提到,可以尝试在代码中使用扩展的链接器(extended linker)。引用指出,全局变量的添加可能解决了这个问题。在你的代码中,你可以尝试通过将ARRY定义为全局变量来解决这个问题。另外,引用也提到了可能是在写.D和.H文件时出现了问题,你可以检查你的代码中是否正确声明了该变量。
相关问题
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: _DELAY
这个警告信息通常出现在嵌入式系统编程中,特别是使用C语言进行微控制器编程时。让我来解释一下这个警告的含义和可能的解决方法:
1. 警告含义:
"_DELAY"是一个未解析的外部符号。这意味着编译器在代码中找到了对DELAY函数的引用,但在链接阶段没有找到这个函数的定义。
2. 可能的原因:
- DELAY函数在代码中被调用,但未定义。
- 使用的库文件中缺少DELAY函数的实现。
- 拼写错误,可能应该使用其他延迟函数。
3. 解决方法:
- 定义一个名为DELAY的函数。
- 如果使用了标准库,检查是否包含了正确的头文件。
- 使用编译器提供的延迟函数,如__delay_ms()或__delay_us()(注意是双下划线)。
- 检查拼写是否正确。
4. 示例代码:
```c
#include <util/delay.h> // 根据使用的编译器可能有所不同
void delay_function() {
_delay_ms(1000); // 延迟1秒
}
```
5. 注意事项:
- 确保包含正确的头文件,如<util/delay.h>。
- 某些编译器可能使用不同的延迟函数名称。
- 延迟函数的参数单位可能因实现而异,请查阅具体文档。
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
这是一个IT类问题。
"未解决的外部引用"(Unresolved External Reference)通常是指在编译或链接过程中,找不到某些函数或变量的定义。这可能是由于缺少相关的库文件、头文件或者使用了错误的函数名等原因导致的。要解决这个问题,可以检查编译器/链接器的错误信息,确认缺失的函数或变量名,并确保相应的定义和声明存在,并且正确地链接到项目中。
阅读全文