Error: Q0466E: An output file can only be specified if there is a single input file

时间:2022-11-04 19:39:53

Error: Q0466E: An output file can only be specified if there is a single input file
mdk keil(keil版本V5.21.1.0)中无法生成bin文件
keil生成.bin文件失败的解决办法



在之前keil版本中Options for Target 'rtthread'->User->After Build/Rebuild->Run #1中的参数为

fromelf.exe --bin -o  $L@L.bin #L

编译是通过的,后来换了keil版本编译不通过报Error: Q0466E: An output file can only be specified if there is a single input file错误,按照网上的方法,修改Options for Target 'rtthread'->User->After Build/Rebuild->Run #1中的参数

①去掉参数两边的引号,结果失败

②去掉参数中的命令行中的空格,结果失败

③将工程文件复制到桌面(相当于去掉路径中的中文路径名和空格,最后发现是只是空格的原因),结果失败

去掉参数中的命令行中的空格,去掉路径中的中文路径名和空格,结果失败

最后发现把Options for Target 'rtthread'->User->After Build/Rebuild->Run #1中的参数改为"C:\Keil\Keil MDK5\ARM\ARMCC\bin\fromelf.exe" --bin -o  $L@L.bin #L编译就通过了,可以生成.bin文件。将参数更换为fromelf.exe --bin -o  $L@L.bin #L程序又报错

之后再把桌面上的工程拷贝到原来所在的目录程序又报了这个错误Error: Q0466E: An output file can only be specified if there is a single input file。

总结原因如下:

①工程路径中含空格

②将参数修改为Options for Target 'rtthread'->User->After Build/Rebuild->Run #1中的参数fromelf.exe --bin -o  $L@L.bin #L修改"C:\Keil\Keil MDK5\ARM\ARMCC\bin\fromelf.exe" --bin -o  $L@L.bin #L