collect2.exe运行时出现ld返回5错误信息
发布时间
阅读量:
阅读量
问题
在使用xp系统进行Arduino编译过程中,时常会遇到如下提示信息:
collect2.exe: error: ld returned 5 exit status
exit status 1
Error compiling for board Arduino Duemilanove or Diecimila
通过开启Arduino中编译过程的显示功能,可以发现编译阶段并未出现异常,问题出现在链接环节。尝试自行编写一个批处理文件,并在命令行环境下重新执行出错的链接步骤,此时会弹出一个提示窗口,内容为“内存不能为读”,随后程序自动关闭。

在此过程中,我所采用的开发环境为arduino IDE1.6.5版本。通过追踪错误代码的来源,发现该问题并非源自Arduino本身,而是与Windows XP系统中的ntdll.dll模块存在关联。当Arduino的链接程序ld.exe尝试调用ntdll.dll模块提供的功能时,出现了异常情况,具体表现为在执行返回(ret)操作时进入了无访问权限的内存区域。唯有对ntdll.dll进行修复,
全部评论 (0)
还没有任何评论哟~
