×

Discussion Board

Results 1 to 4 of 4
  1. #1
    Registered User
    Join Date
    Feb 2006
    Posts
    6

    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:

    C:\USERS\workareas\carbide\HelloBrad\S60 3.0 Emulator Debug>set EPOCROOT=C:\APPS\Symbian\9.1\S60_3rd\

    C:\USERS\workareas\carbide\HelloBrad\S60 3.0 Emulator Debug>make

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


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

    C:\USERS\workareas\carbide\HelloBrad\S60 3.0 Emulator Debug>set EPOCROOT=\APPS\S
    ymbian\9.1\S60_3rd\

    C:\USERS\workareas\carbide\HelloBrad\S60 3.0 Emulator Debug>make
    'Building file: ../src/HelloBrad.cpp'
    '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/
    HelloBrad.o ../src/HelloBrad.cpp
    mwccsym2.exe|Compiler|Error
    (C:\USERS\workareas\carbide\HelloBrad\S60 3.0 Emulator Debug\(command-line defin
    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
    (C:\USERS\workareas\carbide\HelloBrad\src\HelloBrad.cpp|17|33|1|448|1)
    = return new CHelloBradApplication;
    >illegal use of abstract class ('CApaApplication::OpenAppInfoFileLC() const')

    Errors caused tool to abort.
    C:\apps\Symbian\9.1\S60_3rd\epoc32\tools\make.exe: *** [src/HelloBrad.o] Error 1


    C:\USERS\workareas\carbide\HelloBrad\S60 3.0 Emulator Debug>


    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
    Bradley

  2. #2
    Super Contributor
    Join Date
    Sep 2004
    Posts
    1,048

    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. #3
    Registered User
    Join Date
    Feb 2006
    Posts
    6

    Re: Compiling from the command line

    Hi,

    Thanks for the prompt response.

    Quote 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
    Bradley
    Last edited by brmorris; 2006-02-23 at 19:56.

  4. #4
    Super Contributor
    Join Date
    Sep 2004
    Posts
    1,048

    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.

Similar Threads

  1. Compiling MetroTRK for Nokia 6600
    By hombreola in forum Carbide.c++ IDE and plug-ins (Closed)
    Replies: 2
    Last Post: 2005-11-28, 15:35
  2. Compiling .cpp-files separately
    By sk-o in forum Symbian Tools & SDKs
    Replies: 3
    Last Post: 2004-06-04, 09:35
  3. HELP!: Error compiling ....
    By SpaceCowboy in forum Mobile Java General
    Replies: 0
    Last Post: 2003-08-19, 16:21
  4. Problem compiling BIOexample & BIOcontrol
    By tianlye in forum Symbian
    Replies: 1
    Last Post: 2003-02-18, 18:31
  5. Compiling Chinese unicode for 7650/7210
    By damien12345 in forum Mobile Java General
    Replies: 1
    Last Post: 1970-01-01, 02:00

Posting Permissions

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