也是在另外一个博客中看到的,不过现在在网上竟然搜不到了,还好我记录了下来:
如果用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;