Hello
I'm trying to get the HelloWorldBasic program to run on the Epoc Emulator. I've got the Symbian SDK v.9.1 S60 3rd installed.
I can compile the source and get a binary (ie: I installed the CSL Arm Toolchain, and added the 'WINSCW GCCE' to the bld.inf file). The binary I get is placed in C:\Symbian\9.1\S60_3rd\Epoc32\release\GCCE\UDEB. I get three files:
05/17/2006 12:52p 136,603 HelloWorldBasic.exe.map
05/17/2006 12:52p 1,435,501 HelloWorldBasic.sym
05/17/2006 12:52p 18,349 HelloWorldBasic.exe
However, the HelloWorldBasic.exe doesn't run in the epoc emulator. I'm guessing that the 18k binary I get is actually ment to be put on the phone, not the epoc emulator.
I downloaded and installed Carbide.c++ Express Version 1 and was able to import the HelloWorldBasic example and got it to compile a binary that will work in the epoc emulator (it automagically created a exe in C:\Symbian\9.1\S60_3rd\Epoc32\release\winscw\udeb). The binary created is about 442k large. ...and it works.
However, I'd really like a purely command-line solution (if not for the simple reason that I don't want to be shoe-horned into which IDE/if any, I use).
Here's the commands I run:
bldmake bldfiles
abld build gcce udeb
epoc
Here's also the (slightly) modified bld.inf from HelloWorldBasic, that I'm using:
==begin==
PRJ_PLATFORMS
WINSCW GCCE
PRJ_EXPORTS
..\inc\hello.txt ..\winscw\c\private\A000017F\hello.txt
PRJ_MMPFILES
gnumakefile icons_scalable_dc.mk
HelloWorldBasic.mmp
===end===
One bit of wierdness: When I run 'abld gcce udeb', I get a few compilation warnings regarding the time being skewed. I did a search one a few message boards, and I thought this bug was fixed? I tried to upgrade CSL Arm Toolchain to CodeSourcery's newest version (arm v.2006q1), but the stricter syntax checking on GCCE v.4.? caused numerious errors to occur in the SDK headers - so the compiling failed. I'll attach a log of the time skewed errors.
Thanks for reading this (rather long) message.
-R
==Compiling of HelloWorldBasic==
C:\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group>abld build gcce udeb
make -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\hello
worldbasic\group\EXPORT.make" EXPORT VERBOSE=-s
copy "\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\inc\hello.txt" "\Symbian\9.1\S60_3rd\EPOC32\winscw\c\private\A000017F\hello.txt"
1 file(s) copied.
make -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\hello
worldbasic\group\GCCE.make" MAKEFILE VERBOSE=-s
make -s -C \Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group -f "ICONS_SCALABLE_DC.MK" TO_ROOT=..\..\..\..\..\.. EPOCBLD=..\..\..\..\..\..\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\ICONS_SCALABLE_DC\GCCE TO_BLDINF=..\..\..\..\..\..\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group PLATFORM=GCCE MAKMAKE
perl -S makmake.pl -D \Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\HELLOWOR
LDBASIC GCCE
WARNING: Cannot determine the version of the RVCT Compiler.
make -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\hello
worldbasic\group\GCCE.make" LIBRARY VERBOSE=-s
make -s -C \Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group -f "ICONS_SCALABLE_DC.MK" TO_ROOT=..\..\..\..\..\.. EPOCBLD=..\..\..\..\..\..\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\ICONS_SCALABLE_DC\GCCE TO_BLDINF=..\..\..\..\..\..\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group PLATFORM=GCCE LIB
make -s -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\HELLOWORLDBASIC\GCCE\HELLOWORLDBASIC.GCCE" LIBRARY
make[1]: *** Warning: File `\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\HELLOWORLDBASIC\GCCE\HELLOWORLDBASIC.GCCE' has modification time in the future (2006-05-17 09:26:00 > 2006-05-17 09:25:58)
make[1]: warning: Clock skew detected. Your build may be incomplete.
make -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\hello
worldbasic\group\GCCE.make" RESOURCE CFG=UDEB VERBOSE=-s
make -s -C \Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group -f "ICONS_SCALABLE_DC.MK" TO_ROOT=..\..\..\..\..\.. EPOCBLD=..\..\..\..\..\..\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\ICONS_SCALABLE_DC\GCCE TO_BLDINF=..\..\..\..\..\..\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group PLATFORM=GCCE CFG=UDEB RESOURCE
Checking: ..\gfx\qgn_menu_helloworldbasic.svg
Choosing...
Loading mif icons...
Loading file: ..\gfx\qgn_menu_helloworldbasic.svg
Writing mif: \Symbian\9.1\S60_3rd\epoc32\data\z\resource\apps\helloworldbasic_aif.mif
make -s -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\HELLOWORLDBASIC\GCCE\HELLOWORLDBASIC.GCCE" RESOURCEUDEB
make[1]: *** Warning: File `\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\HELLOWORLDBASIC\GCCE\HELLOWORLDBASIC.GCCE' has modification time in the future (2006-05-17 09:26:00 > 2006-05-17 09:25:58)
Created \Symbian\9.1\S60_3rd\EPOC32\INCLUDE\HelloWorldBasic.RSG
Creating \Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldb
asic\group\HELLOWORLDBASIC\GCCE\UDEB
make[1]: warning: Clock skew detected. Your build may be incomplete.
make -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\hello
worldbasic\group\GCCE.make" TARGET CFG=UDEB VERBOSE=-s
make -s -C \Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group -f "ICONS_SCALABLE_DC.MK" TO_ROOT=..\..\..\..\..\.. EPOCBLD=..\..\..\..\..\..\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\ICONS_SCALABLE_DC\GCCE TO_BLDINF=..\..\..\..\..\..\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group PLATFORM=GCCE CFG=UDEB BLD
make -s -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\HELLOWORLDBASIC\GCCE\HELLOWORLDBASIC.GCCE" UDEB
Helloworldbasic.cpp
Helloworldbasicapplication.cpp
Helloworldbasicappview.cpp
Helloworldbasicappui.cpp
In file included from ..//..//..//EPOC32//include/eikenv.h:25,
from ..//..//..//EPOC32//include/aknutils.h:36,
from ..//..//..//EPOC32//include/aknpopuplayout.h:26,
from ..//..//..//EPOC32//include/AknQueryDialog.h:31,
from ..//..//..//EPOC32//include/aknnotewrappers.h:28,
from ..\\src\\Helloworldbasicappui.cpp:18:
..//..//..//EPOC32//include/babitflags.h:240:7: warning: no newline at end of file
In file included from ..//..//..//EPOC32//include/eikmenub.h:18,
from ..//..//..//EPOC32//include/aknenv.h:28,
from ..//..//..//EPOC32//include/aknutils.h:40,
from ..//..//..//EPOC32//include/aknpopuplayout.h:26,
from ..//..//..//EPOC32//include/AknQueryDialog.h:31,
from ..//..//..//EPOC32//include/aknnotewrappers.h:28,
from ..\\src\\Helloworldbasicappui.cpp:18:
..//..//..//EPOC32//include/eikmenup.h: In member function `TBool CEikMenuPaneItem::IsScaleableText(const TDesC&) const':
..//..//..//EPOC32//include/eikmenup.h:183: warning: enumeral mismatch in conditional expression: `TFalse' vs `TTrue'
In file included from ..//..//..//EPOC32//include/aknappui.h:29,
from ..//..//..//EPOC32//include/aknpopupheadingpane.h:32,
from ..//..//..//EPOC32//include/aknlistquerycontrol.h:23,
from ..//..//..//EPOC32//include/AknQueryDialog.h:36,
from ..//..//..//EPOC32//include/aknnotewrappers.h:28,
from ..\\src\\Helloworldbasicappui.cpp:18:
..//..//..//EPOC32//include/AknTouchPaneObserver.h:47:19: warning: no newline at end of file
In file included from ..\\src\\Helloworldbasicappui.cpp:27:
..//inc/HelloWorldBasic.hrh:26:34: warning: no newline at end of file
Helloworldbasicdocument.cpp
In file included from ..//..//..//EPOC32//include/eikenv.h:25,
from ..//..//..//EPOC32//include/eiksrvs.h:14,
from ..//..//..//EPOC32//include/eiksrvc.h:9,
from ..//..//..//EPOC32//include/eikspmod.h:18,
from ..//..//..//EPOC32//include/Eikspane.h:10,
from ..//..//..//EPOC32//include/aknappui.h:25,
from ..//inc/HelloWorldBasicAppUi.h:20,
from ..\\src\\Helloworldbasicdocument.cpp:17:
..//..//..//EPOC32//include/babitflags.h:240:7: warning: no newline at end of file
In file included from ..//..//..//EPOC32//include/aknappui.h:29,
from ..//inc/HelloWorldBasicAppUi.h:20,
from ..\\src\\Helloworldbasicdocument.cpp:17:
..//..//..//EPOC32//include/AknTouchPaneObserver.h:47:19: warning: no newline at end of file
1 file(s) copied.
make -r -f "\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\hello
worldbasic\group\GCCE.make" FINAL CFG=UDEB VERBOSE=-s
make -s -C \Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group -f "ICONS_SCALABLE_DC.MK" TO_ROOT=..\..\..\..\..\.. EPOCBLD=..\..\..\..\..\..\Symbian\9.1\S60_3rd\EPOC32\BUILD\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group\ICONS_SCALABLE_DC\GCCE TO_BLDINF=..\..\..\..\..\..\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group PLATFORM=GCCE CFG=UDEB FINAL
C:\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic\group>




