VxWorks编译错误

时间:2011-12-05 11:21:05

标签: vxworks

我在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,但我没有看到任何错误。你能帮帮我吗?

1 个答案:

答案 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引出哪些路径名。 (或者也许是空格。)