Thứ Ba, 8 tháng 12, 2009

Symbian - Carbide: Compilation Fails: Bareword Found Where Operator Expected (Wrong Active Perl version)

Compilation Fails: Bareword Found Where Operator Expected

Problem: When compiling an application, the process fails. The Problems view of Carbide.c++ reports that a .hlp.hrh file cannot be opened. In the Console view, problems with a Perl script are obvious (params.pm).

.hlp.hrh file cannot be opened
Problems with the perl script

Cause: The version of Perl on your system is newer than 5.6.x. The Symbian OS toolchain is not fully compatible to the 5.8.x/5.10.x release – you will probably not notice it for most projects, but, for example, compiling help files does not work with ActivePerl 5.8/5.10.

Solution: Either install Perl 5.6.1 , or follow the steps at http://wiki.forum.nokia.com/index.php/KIS001302_-_Compiling_context-sensitive_help_fails_with_latest_version_of_Perl:

Go to your SDK installation's "Epoc32\tools\perllib" path:

- Open file args.pm, change the following line (# 688)

$self->_iSpecArray->{$aName}= New CArgsSpec($aName, $aDefault, $aPattern,
$aExclusions, $aMandatory, $aRepeatable);

to

$self->_iSpecArray->{$aName}= CArgsSpec->New($aName, $aDefault, $aPattern,
$aExclusions, $aMandatory, $aRepeatable);

- Open file params.pm, search for the word "New" and replace it with "foo->New()"; for example, if there is a function "New CLogs()".

Reference from Developer.Symbian.com and Wiki.forum.nokia.com

Không có nhận xét nào:

Đăng nhận xét