# Thread: Compiling from the command line

1. ## Compiling from the command line

I'm trying to compile a HelloBrad project from the command line. After compiling the project once (to generate the makefiles etc) I then tried:

ERROR: EPOCROOT must be an absolute path, not containing a drive letter.

Fair enough. So I reset %EPOCROOT% to no contain a drive letter:

ymbian\9.1\S60_3rd\

'Invoking: WINSCW C/C++ Compiler'
mwccsym2.exe -sym full -c -wchar_t off -align 4 -enum int -str pool -nostdinc -e
xc ms -inline off -msgstyle parseable -nowraplines -O0 -D_UNICODE -D__SYMBIAN32_
_ -D__CW32__ -D__WINS__ -D__EXE__ -D__WINSCW__ -D_DEBUG -D__SUPPORT_CPP_EXCEPTIO
NS__ -D__SERIES60_30__ -D__SERIES60_3X__ -include "\APPS\Symbian\9.1\S60_3rd\epo
c32\include\variant\Symbian_OS_v9.1.hrh
" -i "C:\USERS\workareas\carbide\HelloBra
d\inc" -i "C:\USERS\workareas\carbide\HelloBrad\data" -i- -i "\APPS\Symbian\9.1\
S60_3rd\epoc32\include" -i "\APPS\Symbian\9.1\S60_3rd\epoc32\include\variant" -w
cmdline -w pragmas -w empty -w possible -w unusedarg -w unusedvar -w extracomma
-w pedantic -w largeargs -w ptrintconv -w tokenpasting -w missingreturn -o src/
mwccsym2.exe|Compiler|Error
es)|12|9|70|251|70)
=#include "\APPS\Symbian\9.1\S60_3rd\epoc32\include\variant\Symbian_OS_v9.1.hrh"

>the file '\APPS\Symbian\9.1\S60_3rd\epoc32\include\variant\Symbian_OS_v9.1.hrh'
cannot be opened
mwccsym2.exe|Compiler|Error
>illegal use of abstract class ('CApaApplication::OpenAppInfoFileLC() const')

Errors caused tool to abort.

Um, \APPS\Symbian\9.1\S60_3rd\epoc32\include\variant\Symbian_OS_v9.1.hrh exists just fine.

So, it seems that there is either a bug in the compiler (since it didn't find the header unless the drive letter is included in EPOCROOT) or there is a problem the make system (for requiring no drive letter to be included in EPOCROOT).

I don't have access to the compiler source but I dug around in the make system.

Commenting out lines 254 and 255 of C:\Program Files\Common Files\Symbian\tools\tlaunch.pm and setting EPOCROOT to include the drive letter seems to make the problem go away.

Are those lines in tlaunch.pm a bug, or is there a valid reason for EPOCROOT to not include a drive letter?

Thanks

2. ## Re: Compiling from the command line

Using the Carbide-generated make files from outside Carbide.c++ Express is NOT supported. Carbide.c++ generates the make files for the exclusive use of the Carbide build system. There has never been any intention that what you seem to be trying to do will work (if I understand your question correctly).

Also, if you modify the perlscripts etc, you might break building from inside Carbide. Note also that any makefiles etc associated with Carbide are generated and any changes that you make them will be overwritten without notice.

3. ## Re: Compiling from the command line

Hi,

Thanks for the prompt response.

Originally Posted by mitts
if I understand your question correctly.
I am trying to do compile a simple S60 application using Carbide.c++ Express from the command line. I've managed to get this working but it involves a small hack to the SDK build system.

So, I guess my question could be rephrased - how do you compile a HelloWorld S60 application using Carbide.c++ Express from the command line?

Thanks

4. ## Re: Compiling from the command line

Hi,

As I indicated, there is no supported way to compile using Carbide.c++ Express build system from the command line. Modifying the make-files or the build scripts is not supported and if you do that then you are on your own. Also we reserve the right to make any changes to the build system so there is no guarantee that something that works for this version will also work in the future.

If you feel that you need to use command line building, then you should use the SDK command line tools, see the SDK Help for details.

However you should note that the Carbide.c++ product family has not been designed to co-exist with command line building, so for instance it does not use nor update the .mmp file. If you want to use the command line tools, you need to manually maintain an .mmp file for the project.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•