我正在创建一个简单的程序来熟悉Atmel Studio 6(在Win 7 X64上运行),使用ASF为SAM4S微控制器提供的库/驱动程序。在编译时,我在startup_sam4s.c文件中得到了几个(19)未定义的引用错误。我听说这通常意味着项目/丢失的链接器文件中缺少一个文件,但我(合理地)确信我已将所有必需的文件添加到我的解决方案中。
错误都是“未定义的_szero引用”排序,与this错误报告中提到的完全相同(尽管有不同的微控制器系列)。我遵循了修复说明,但无济于事。我也尝试重新安装,升级到v6.1(应该修复上述错误),并更改链接器脚本文件夹的权限(似乎无法找到链接器脚本位置),并将所有内容都注释掉确保导致问题的不是我的程序。
如果有人能就可能导致此问题的原因提出一些建议,我将不胜感激。提前谢谢。
编辑:嗯。重新启动计算机并再次启动Atmel Studio,然后再次完成错误修复过程,现在我只得到三个错误:在Writer.c中未定义引用_write,在Readr.c中未读定义引用_read,以及之前的一个ld返回1退出状态。答案 0 :(得分:1)
奇怪的是,在不同的计算机上重新安装6.1并使用我现有的main.c文件创建新的解决方案之后,它运行得很完美:然后在以前的计算机上重新安装并将解决方案转移到它上永久修复它。
答案 1 :(得分:0)
我可以通过不调用 printf()
来消除以下错误消息:
undefined reference to `_write` writer.c undefined reference to `_read` readr.c ld returned 1 exit status collect2.exe