IAR编译器使用以下命令编译我的项目。我在这里有两个问题。
下面是命令,后面是错误的屏幕截图。
xlink.exe F:\CP001\Temp\U20EI\Obj\Main.r43 F:\CP001\Temp\U20EI\Obj\Platform.r43 -o F:\CP001\Temp\U20EI.d43 -B -IC:\Program Files\IAR Systems\Embedded Workbench 7.0\430\LIB\ -f C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\config\linker\lnk430F425A.xcl -f C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\config\linker\multiplier.xcl -D_STACK_SIZE=50 -rt C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\lib\dlib\dl430fn.r43 -e_PrintfLarge=_Printf -e_ScanfLarge=_Scanf -D_DATA16_HEAP_SIZE=50 -s __program_start -D_DATA20_HEAP_SIZE=50
答案 0 :(得分:0)
xlink.exe
不是Windows命令,如cmd.exe
的内部命令或其他命令,其中单独的EXE文件随Windows一起安装到目录%SystemRoot%\system32
中。
xlink.exe
是一个在Windows上运行的控制台应用程序,但不是图形用户界面(GUI),而是在命令提示符窗口中,也称为控制台窗口。
在您使用IAR工作台安装xlink.exe
的情况下,请参阅Latest version of XLINK linker。
还有一个IAR Linker and Library Tools Reference Guide(PDF文件),解释了在xlink.exe
上运行时可以使用的所有参数。
像xlink.exe
这样的控制台应用程序通常在命令提示符窗口中运行它时会输出一个简短的帮助xlink.exe /?
(Windows标准)或xlink.exe -?
或xlink.exe --help
(Unix标准)因此,通常也在Windows上运行从Unix移植到Windows的应用程序。
空格字符是命令及其参数之间以及命令的每个参数之间的分隔符,EXCEPT字符串放在双引号中。
因此您需要使用:
xlink.exe F:\CP001\Temp\U20EI\Obj\Main.r43 F:\CP001\Temp\U20EI\Obj\Platform.r43 -o F:\CP001\Temp\U20EI.d43 -B "-IC:\Program Files\IAR Systems\Embedded Workbench 7.0\430\LIB\" -f "C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\config\linker\lnk430F425A.xcl" -f "C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\config\linker\multiplier.xcl" -D_STACK_SIZE=50 -rt "C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\lib\dlib\dl430fn.r43" -e_PrintfLarge=_Printf -e_ScanfLarge=_Scanf -D_DATA16_HEAP_SIZE=50 -s __program_start -D_DATA20_HEAP_SIZE=50
请注意IAR工作台与大多数IDE一样,在启动构建作业时修改环境变量 PATH ,方法是在目录列表的开头插入包含可执行文件的目录的路径(编译器,汇编器,链接器) ,...)用于构建作业。
因此,在从命令行或批处理文件中手动运行xlink.exe
之类的控制台应用程序时,还必须在命令行/批处理文件中指定xlink.exe
的完整路径(如果是如果用户的 PATH PATH >或者在安装IAR工作台期间未修改系统 PATH 。
打开命令提示符窗口,例如运行cmd.exe
并输入path
以查看路径中包含的帐户默认的目录。