我在WindWriver Workbench 3.3中编译一个小程序时遇到问题。我正在制作第一个教程HelloWorld,但是当我启动编译器时,它会返回下一个错误:
C:\Windows\Temp\make45206.sh: syntax error near unexpected token `&'
C:\Windows\Temp\make45206.sh: C:\Windows\Temp\make45206.sh: line 1:
`if [ ! -d "`dirname "HelloWorld_partialImage/Debug/HelloWorld_partialImage.o"`" ];
then mkdir -p "`dirname "HelloWorld_partialImage/Debug/HelloWorld_partialImage.o"`";
fi;
echo "building HelloWorld_partialImage/Debug/HelloWorld_partialImage.o";
dld -tX86LH:vxworks69 -X -r5 -f 0x90,1,1 -o "HelloWorld_partialImage/Debug/HelloWorld_partialImage.o" HelloWorld_partialImage/Debug/Objects/HelloWorld/main.o C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;C:\Archivos de programa\Microsoft Visual Studio 9.0\VC\LIB; && if [ "0" = "1" ];
then plink "HelloWorld_partialImage/Debug/HelloWorld_partialImage.o";
fi'
C:\WindRiver\utilities-1.0\x86-win32\bin\make.exe: *** [HelloWorld_partialImage/Debug/HelloWorld_partialImage.o] Error 2
我检查了Makefile
,但我没有看到任何错误。你能帮帮我吗?
答案 0 :(得分:1)
Makefile
的内容是什么?
我认为这里的长路径名上的;
分隔符可能是个问题:
\Microsoft Visual Studio 9.0\VC\LIB; && if [ "0" = "1" ];
sh
会将;
解释为要执行的多个命令:
$ echo hello;echo hi
hello
hi
$
这里的; &&
会混淆shell,因为;
和&&
都用作命令分隔符:
$ echo hello ; && echo hi
bash: syntax error near unexpected token `&&'
$
尝试将;
字符替换为:
,无论Makefile
引出哪些路径名。 (或者也许是空格。)