Is it true? I read that it's possible to write programs for WINC target, which will result in Windows programs which can access Symbian API! How can this be done???
There is no surprise in it. WINC and WINSCW are platforms available for the emulator those builds won't work on your device. The emulator is build up on windows that's why this wins came. Generally which target you've to go for an emulator out of WINS and WINSCW is based on the SDK that you've installed on your PC. There are basically (at least up to 2nd FP 2 I think) two kind of SDK's available one which supports Microsoft Visual Studio and one which support Code Warrior, for MS you've to choose a WINS and for Code Warrior you've to go for a WINSCW.
For a device the platforms are ARMS, THUMB or GCCE. Based on the SDK it varies. For a 3rd Ed the supporting platforms are GCCE, ARMV5, ARMV5_ABIV2 but for an ARM based platforms you should have installed the RVCT Compiler, that is too costly for an individual developer.
There is no surprise in it. WINC and WINSCW are platforms available for the emulator those builds won't work on your device. The emulator is build up on windows that's why this wins came. Generally which target you've to go for an emulator out of WINS and WINSCW is based on the SDK that you've installed on your PC. There are basically (at least up to 2nd FP 2 I think) two kind of SDK's available one which supports Microsoft Visual Studio and one which support Code Warrior, for MS you've to choose a WINS and for Code Warrior you've to go for a WINSCW.
For a device the platforms are ARMS, THUMB or GCCE. Based on the SDK it varies. For a 3rd Ed the supporting platforms are GCCE, ARMV5, ARMV5_ABIV2 but for an ARM based platforms you should have installed the RVCT Compiler, that is too costly for an individual developer.
Sorry, but your answer does not help me at all: can I write & compile a program for WINC target? how?
I'm sorry, I spelled it wrongly I mean to write WINS.
I don't know I understood you properly. There is a platform called WINC on 2.x SDK I guess. But that is not available on 3rd Ed. One more thing would like to mention here that if you want to create a windows based application which use the Symbian API then I think it's not possible. If you want to have some specific API which is there in Symbian on Windows you may better refer the MSDN you'll definitely get that.
WINC is an implementation of the non-GUI parts of Symbian OS. Its chief purpose is to allow Symbian OS application engines to be used to access application documents from programs running on a PC.
Design strategy
WINC is a specialist implementation of Symbian OS. The primary requirements for WINC were:
allow Symbian OS application engines to be run from ordinary Win32 application programs in order to access application document files
allow any drive and directory on the PC's filing system to be accessed through the WINC File Server API — not just the emulated virtual drives as under WINS
The difference between WINS and ARMI is a complete rebuild. However, WINC DLLs run in the same processor architecture as WINS DLLs, and therefore a complete rebuild is not necessary. In fact, only the DLLs delivered by the Base are different from their WINS counterparts. In other cases, the WINC component is exactly the same as the corresponding WINS component. In general, with the exceptions mentioned, any DLL implemented under WINC should be exactly the same as its WINS counterpart without code change or rebuilding.
Nice to see that you got an expected information form the SDK Help.
this is not where I want to arrive, that's where I start from! How can I do what is described in that document? How to configure MS Visual c++ to start compiling WINC applications? CAN "Express edition" actually compile for WINC? and so on...
Come on, guys: 5 replies, none is of any use!! I know my english is not so good, but I don't know how else explain you that I need further informations than those in that page!!! I never used MS Visual C++ before. I have "2005 express edition", don't even know if it is suitable! I can't find any makmake.exe program on my system. A sample source would of course be useful.
The link which you've provided was from Symbian 7.0 SDK. I don't know whether this WINC is supported in the latest SDKs. By the way which SDK do you use?
UIQ 2.0 and UIQ 2.1 But it does not matter: if I need to install a different SDK to get "Windows support" for my phone, I'll just install it! Symbian file formats are "quite" portable from one variant to another.
I searched the UIQ SDK help file for "WINC". I found a page that tells that there are samples for this build target, e.g. the following one that reads a Symbian agenda file described here:
Code:
UIQ 2.1 SDK » Developer Library » C++ example projects » Application Engines example code » ReadAllEntries: read all Agenda entries
As SE in their wisdom chose *not* to include basic Symbian samples I went to my installation of a S60 SDK, because I knew from earlier ventures that Nokia does include them. And presto, there it was, in
Code:
\Examples\appengine\agendamodel\readallentries
From this it was easy: I just compiled the sample as I would compile any sample for the UIQ emulator, but giving WINC instead of WINS as the target:
Code:
bldmake bldfiles abld build winc udeb
This produced a file READALLENTRIES.EXE somewhere deep in one of the directories of the UIQ SDK installation (I just used a file search to locate it.)
Next little hurdle was the fact that this sample wants to read the sample "agendata.dat" file that is delivered together with the sample not in the current directory and not as specified on the command line, but directly from the root of the (real Windows) C: drive, as a quick look into the source code showed:
So just copying the agenda file to C:\ and running READALLENTRIES.EXE from a Windows command line did it.
I guess that if you already can compile for the WINS target on your PC, you can compile for WINC as well. I don't know however whether the Visual Studio express edition is enough. I am too lazy now to hunt down the answer to this question as well.
This WINC stuff is all good and well and interesting, but the situations where this might be useful rather limited. Basically all that WINC can do is reading and writing some Symbian files like agenda, contacts and such.
If I want to read the agenda, why not just write a normal Symbian program that lists the agenda entries in a list box on a view, compile this for the emulator, and that's it? Or using a little Symbian program to write agenda entries to a file with a structure that I like and then processing that file further with a Windows program?
Man, you did a REAL GOOD JOB!!! THANKS! For some strange reasons, those files are present in UIQ 2.0 SDK but not in UIQ 2.1 SDK... Or maybe I copied them there from somwehere else? My sdk folders are quite messed up with additional sources & docs I found around on internet... I have an "additional" example folder: C:\Symbian\UIQ_70\examples (besides C:\Symbian\UIQ_70\UIQExamples ) I'll try your method to build these sources.
Quote
This WINC stuff is all good and well and interesting, but the situations where this might be useful rather limited. Basically all that WINC can do is reading and writing some Symbian files like agenda, contacts and such.
If I want to read the agenda, why not just write a normal Symbian program that lists the agenda entries in a list box on a view, compile this for the emulator, and that's it? Or using a little Symbian program to write agenda entries to a file with a structure that I like and then processing that file further with a Windows program?
Because running ONE program on PC is quite faster than running a program on phone, copying its output to the PC and then running ANOTHER program on the PC.Â
Actually I thought there was a way to write a pure-windows suource which uses symbian libraries, e.g. a Visual Basic source which connect to Symbian's API, but looks like it's not , isnt'it? Thus it would have been MUCH easier to develop windows programs which handle symbian data.Â
Back to Visual C++ compiling.... any idea about why the compilation process complains about some missing info? ERROR: failed to find version information for LINK.EXE
(this is the result of makmake .\helloworld.mmp winc)
Back to Visual C++ compiling.... any idea about why the compilation process complains about some missing info? ERROR: failed to find version information for LINK.EXE
(this is the result of makmake .\helloworld.mmp winc)
Same error using standard compilation method:Â Any idea?
Code:
C:\Symbian\UIQ_70\examples\AppEngine\AgendaModel\ReadAllEntries>abld build winc urel  make -r -f "\symbian\uiq_21\EPOC32\BUILD\SYMBIAN\UIQ_70\EXAMPLES\APPENGINE\AGENDAMODEL\READALLENTRIES\EXPORT.make" EXPORT VERBOSE=-s Nothing to do  make -r -f "\symbian\uiq_21\EPOC32\BUILD\SYMBIAN\UIQ_70\EXAMPLES\APPENGINE\AGENDAMODEL\READALLENTRIES\WINC.make" MAKEFILE VERBOSE=-s perl -S makmake.pl -D \SYMBIAN\UIQ_70\EXAMPLES\APPENGINE\AGENDAMODEL\READALLENTRIES\READALLENTRIES WINC ERROR: failed to find version information for LINK.EXE make: *** [MAKEFILEREADALLENTRIES] Error 53
Forum posts: 732
For a device the platforms are ARMS, THUMB or GCCE. Based on the SDK it varies. For a 3rd Ed the supporting platforms are GCCE, ARMV5, ARMV5_ABIV2 but for an ARM based platforms you should have installed the RVCT Compiler, that is too costly for an individual developer.
Forum posts: 278
For a device the platforms are ARMS, THUMB or GCCE. Based on the SDK it varies. For a 3rd Ed the supporting platforms are GCCE, ARMV5, ARMV5_ABIV2 but for an ARM based platforms you should have installed the RVCT Compiler, that is too costly for an individual developer.
can I write & compile a program for WINC target?
how?
-- JumpJack --
Forum posts: 732
I don't know I understood you properly. There is a platform called WINC on 2.x SDK I guess. But that is not available on 3rd Ed. One more thing would like to mention here that if you want to create a windows based application which use the Symbian API then I think it's not possible. If you want to have some specific API which is there in Symbian on Windows you may better refer the MSDN you'll definitely get that.
Forum posts: 278
http://www.symbian.com/developer/techlib/v70sdocs/doc_source/ToolsAndUtilities/BuildTools/UsingWINCWin32Utilities.guide.html
WINC is an implementation of the non-GUI parts of Symbian OS. Its chief purpose is to allow Symbian OS application engines to be used to access application documents from programs running on a PC.
Design strategy
WINC is a specialist implementation of Symbian OS. The primary requirements for WINC were:
allow Symbian OS application engines to be run from ordinary Win32 application programs in order to access application document files
allow any drive and directory on the PC's filing system to be accessed through the WINC File Server API — not just the emulated virtual drives as under WINS
The difference between WINS and ARMI is a complete rebuild. However, WINC DLLs run in the same processor architecture as WINS DLLs, and therefore a complete rebuild is not necessary. In fact, only the DLLs delivered by the Base are different from their WINS counterparts. In other cases, the WINC component is exactly the same as the corresponding WINS component. In general, with the exceptions mentioned, any DLL implemented under WINC should be exactly the same as its WINS counterpart without code change or rebuilding.
That would be cool! GREAT!
-- JumpJack --
Forum posts: 732
Forum posts: 278
How can I do what is described in that document? How to configure MS Visual c++ to start compiling WINC applications? CAN "Express edition" actually compile for WINC? and so on...
-- JumpJack --
Forum posts: 732
Forum posts: 278
What did you find?
-- JumpJack --
Forum posts: 131
Forum posts: 278
I know my english is not so good, but I don't know how else explain you that I need further informations than those in that page!!!
I never used MS Visual C++ before.
I have "2005 express edition", don't even know if it is suitable!
I can't find any makmake.exe program on my system.
A sample source would of course be useful.
-- JumpJack --
Forum posts: 732
Forum posts: 278
But it does not matter: if I need to install a different SDK to get "Windows support" for my phone, I'll just install it! Symbian file formats are "quite" portable from one variant to another.
-- JumpJack --
Forum posts: 1246
I searched the UIQ SDK help file for "WINC". I found a page that tells that there are samples for this build target, e.g. the following one that reads a Symbian agenda file described here:
As SE in their wisdom chose *not* to include basic Symbian samples I went to my installation of a S60 SDK, because I knew from earlier ventures that Nokia does include them. And presto, there it was, in
From this it was easy: I just compiled the sample as I would compile any sample for the UIQ emulator, but giving WINC instead of WINS as the target:
abld build winc udeb
This produced a file READALLENTRIES.EXE somewhere deep in one of the directories of the UIQ SDK installation (I just used a file search to locate it.)
Next little hurdle was the fact that this sample wants to read the sample "agendata.dat" file that is delivered together with the sample not in the current directory and not as specified on the command line, but directly from the root of the (real Windows) C: drive, as a quick look into the source code showed:
KDefaultTimeForEvents,KDefaultTimeForAnnivs,1234)));
So just copying the agenda file to C:\ and running READALLENTRIES.EXE from a Windows command line did it.
I guess that if you already can compile for the WINS target on your PC, you can compile for WINC as well. I don't know however whether the Visual Studio express edition is enough. I am too lazy now to hunt down the answer to this question as well.
This WINC stuff is all good and well and interesting, but the situations where this might be useful rather limited. Basically all that WINC can do is reading and writing some Symbian files like agenda, contacts and such.
If I want to read the agenda, why not just write a normal Symbian program that lists the agenda entries in a list box on a view, compile this for the emulator, and that's it? Or using a little Symbian program to write agenda entries to a file with a structure that I like and then processing that file further with a Windows program?
René Brunner
Forum posts: 278
[...]
For some strange reasons, those files are present in UIQ 2.0 SDK but not in UIQ 2.1 SDK...Â
I have an "additional" example folder:
C:\Symbian\UIQ_70\examples (besides C:\Symbian\UIQ_70\UIQExamples )
I'll try your method to build these sources.
If I want to read the agenda, why not just write a normal Symbian program that lists the agenda entries in a list box on a view, compile this for the emulator, and that's it? Or using a little Symbian program to write agenda entries to a file with a structure that I like and then processing that file further with a Windows program?
Actually I thought there was a way to write a pure-windows suource which uses symbian libraries, e.g. a Visual Basic source which connect to Symbian's API, but looks like it's not , isnt'it?Â
Back to Visual C++ compiling.... any idea about why the compilation process complains about some missing info?
ERROR: failed to find version information for LINK.EXE
(this is the result of makmake .\helloworld.mmp winc)
-- JumpJack --
Forum posts: 278
ERROR: failed to find version information for LINK.EXE
(this is the result of makmake .\helloworld.mmp winc)
Any idea?
 make -r -f "\symbian\uiq_21\EPOC32\BUILD\SYMBIAN\UIQ_70\EXAMPLES\APPENGINE\AGENDAMODEL\READALLENTRIES\EXPORT.make" EXPORT VERBOSE=-s
Nothing to do
 make -r -f "\symbian\uiq_21\EPOC32\BUILD\SYMBIAN\UIQ_70\EXAMPLES\APPENGINE\AGENDAMODEL\READALLENTRIES\WINC.make" MAKEFILE VERBOSE=-s
perl -S makmake.pl -D \SYMBIAN\UIQ_70\EXAMPLES\APPENGINE\AGENDAMODEL\READALLENTRIES\READALLENTRIES WINC
ERROR: failed to find version information for LINK.EXE
make: *** [MAKEFILEREADALLENTRIES] Error 53
-- JumpJack --