目前在VSCode下面,使用EIDE V3.20.0 搭配ToolChain SDCC 4.4.0 版本,显示link出错,不能链接,请问是什么原因 只有退回到EIDE V3.6.4的版本,才能正常link
doudoujia2020
我这边是可以用的,也是 sdcc 4.4
检查你的 sdcc 安装目录下是否包含 sdar.exe 这个文件
没有的话就会报这个错
admin 谢谢,我看了一下,SDCC目录下面是有 sdar.exe 文件
新版和旧版的区别就是 新版需要使用 sdar 命令,使用 sdar 先打包成 lib 再链接,有助于链接器执行size优化
你需要验证一下你这个 sdar 是否能正常运行
在你的项目下打开 EIDE Terminal
先执行一下 sdar 命令,看有无报错,正常会输出 help 提示
然后在你的项目 build 目录下,有一个 no_entry_bundled.args.txt 文件,将里面的内容复制出来,这是 sdar 的参数
然后拼接到 sdar 命令后面然后执行(比如下面这样):
sdar -rc .\build\Debug\no_entry_bundled.lib .\build\Debug\.obj\src\foo.rel
然后执行一下 echo $LASTEXITCODE,正常情况下,会打印 0
echo $LASTEXITCODE
谢谢,另外我还想请教一下,使用SDCC,对于优化SRAM这一块,有好的建议吗,我这边经常空间超了 目前使用的link指令 :--model-large --code-loc 0x0000 --code-size 0x7000 --xram-loc 0x0100 --xram-size 0x700 使用--auto-stack 也没有改善
admin 好的,谢谢,我试试
admin sdar看起来是没有执行
附加log信息,应该是link的时候找不到.o,所以link失败了
一般是缺少 dll,先完全卸载,然后从 SourceForget 下载 setup.exe 重新安装
如果不介意使用 v4.2.0 的话,使用 eide 自动安装
admin 好的,感谢,我试试看