也是在另外一个博客中看到的,不过现在在网上竟然搜不到了,还好我记录了下来:
?
如果用Carbide编译任意工程,都出现类似如下的错误:
===Build Command = /c abld build WINSCW UDEB -v===
C:/WINDOWS/system32/cmd.exe /c abld build WINSCW UDEB -v
? make -r? -f "/Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Symbian/Carbide/workspace/TestListBox/group/EXPORT.make" EXPORT
Nothing to do
? make -r? -f "/Symbian/9.1/S60_3rd_MR/EPOC32/BUILD/Symbian/Carbide/workspace/TestListBox/group/WINSCW.make" MAKEFILE
Bareword found where operator expected at C:/Symbian/9.1/S60_3rd_MR/epoc32/tools/perllib/params.pm line 461,near "New CParamItem"
??? (Do you need to predeclare New?)
Bareword found where operator expected at C:/Symbian/9.1/S60_3rd_MR/epoc32/tools/perllib/params.pm line 466,near "New CParamItem"
??? (Do you need to predeclare New?)
syntax error at C:/Symbian/9.1/S60_3rd_MR/epoc32/tools/perllib/params.pm line 461,near "New CParamItem"
syntax error at C:/Symbian/9.1/S60_3rd_MR/epoc32/tools/perllib/params.pm line 466,near "New CParamItem"
Compilation failed in require at C:/Symbian/9.1/S60_3rd_MR/epoc32/tools/perllib/args.pm line 19.
BEGIN failed--compilation aborted at C:/Symbian/9.1/S60_3rd_MR/epoc32/tools/perllib/args.pm line 19.
Compilation failed in require at C:/Symbian/9.1/S60_3rd_MR/epoc32/tools/cshlpcmp.pl line 58.
BEGIN failed--compilation aborted at C:/Symbian/9.1/S60_3rd_MR/epoc32/tools/cshlpcmp.pl line 58.
make[1]: *** [MAKMAKE] Error 255
make: *** [MAKEFILEBUILD_HELP] Error 2
解决方法有两种:
1 安装Activeperl 5.6.1,高版本的Perl编译可能出现上面问题。
2 编辑文件 /devices/S60_3rd_FP2_SDK/epoc32/tools/perllib/params.pm 和文件 /devices/S60_3rd_FP2_SDK/epoc32/tools/perllib/args.pm 在它们开头的use语句后分别加入: #加入到params.pm中 sub CParamItem::New; sub CParamsEntry::New; #加入到args.pm中 sub CArgsSpec::New;