Recently I've downloaded Carbide.c++ Express Edition and start to evaluate it compiling HelloWorld application from the tutorial. Carbide.c++ Express Edition runs wrapper named epocaifdef.pl which in turn runs epocaif.pl to produce an output .AIF file. That operation was failed due the root folder of my drive C: was used as temporary directory for intermediate files. I run my WindowsXP as ordinary user, not as Administrator, so I have no rights to modify root folder in any way and I got "permission denied" in the Console window.
Investigating scripts epocaifdef.pl and epocaif.pl I found the command line option `-t' to specify temporary directory but when I specified it in the Project Properties for C/C++ Build, AIF Compiler/General Options branch, I got the same "permission denied". Going further I caught a bug in the epocaifdef.pl code: it completely ignores the value which `-t' says and starts epocaif.pl with no temporary directory specified. There is a patch I have made for epocaifdef.pl that solves the problem. The value for `-t' option is not ignored any more and even if no `-t' option specified at all the value of %TMP% system environment variable is used. Otherwise epocaif.pl would use the root folder as temporary directory and this is not possible for ordinary users having no read/write rights for that folder.
epocaifdef.pl is located in "\Program Files\Carbide\Plugins\com.symbian.cdt.sdk_1.0.0\scripts\epocaifdef.pl
Code:--- epocaifdef.pl.orig Fri Feb 17 16:38:06 2006 +++ epocaifdef.pl Thu Feb 23 21:03:29 2006 @@ -44,6 +44,7 @@ my $opt_v=0; my $opt_I=""; my $opt_p=""; +my $tmpdir=""; my $errors = 0; while (@ARGV) @@ -111,6 +112,11 @@ exit 1; } +if ($tmpdir eq "") + { + $tmpdir = $ENV{"TMP"}; + } + if ($opt_o eq "") { my $rss_base = basename($sourcefile); @@ -197,7 +203,7 @@ } $bitmapFiles .= "\""; -my $aifCommand = "perl -S epocaif.pl -o$opt_o $opt_I $rssSrcFile "; +my $aifCommand = "perl -S epocaif.pl -t$tmpdir -o$opt_o $opt_I $rssSrcFile "; if ($mbmSrcFile ne "") {

) I also tried this with the example app. The same thing happened. 

