Reply
Thread Tools
Posts: 80 | Thanked: 53 times | Joined on Feb 2010 @ Berlin, Germany
#51
Originally Posted by pelago View Post
nath, from your posts you sound like you worked on this SDK - is that right?
Yes, that's right.
 
Posts: 385 | Thanked: 426 times | Joined on Dec 2009 @ Gothenburg, Sweden
#52
Originally Posted by nath View Post
Yes, that's right.
In that case, I'm really glad to be able to ask some questions, because I have for quite a while been confused with some of the Maemo/N900 (fremantle) concepts. Here's what I've experienced so far:

1. Installing scratchbox under ubuntu, especially the 64 bit version was quite confusing and troublesome. Found out that it would probably be easier using the preinstalled vm images with the eclipse environment instead, I downloaded and launched one but I never got around using it because suddenly there was MADDE and I went for that instead.
2. So I installed MADDE (even though I realized it was a beta). I ran into trouble when I wanted to use Maemo specific things there, like Qt::WA_Maemo5StackedWindow and the QMaemo5InformationBox. They were not simply in the target SDK. It all felt somewhat useless, since most apps use those things and mine was no exception.
3. I saw a thread were some guy pointed me in the direction on how to install the Maemo5 SDK under MADDE, but quite experimental. As I tried this, it broke the QtCreator integration with MADDE and the packaging support, but I was able to compile, link and deploy the stuff to the device using MAD developer anyway.
4. It didn't run on the target, I got dependency problems with some QVectorData8 (C++ linker decorated) something. Trying a few things and commenting out some code that caused this it segfaulted instead when about to show the main window. I figured this was since the device didn't have the correct maemo5 runtimes. I found some place where someone said that when installing for example the 'Maesheep' game (that was dependent on these libraries) apt would install the libraries (I later realized I could have installed the libraries separately in apt).So I did that and my app. finally ran on the device even though I was somewhat confused over what versions of things I was using now. I don't even remember now what I did to get rid of that "QVectorData8" error message (maybe I linked with some additional library).
Now WHAT were people actually using when developing things for the N900 device without needing to deploy any extra libraries? Because clearly the stacked windows and the information box (Qt::WA_Maemo5... specific stuff???) was definitely there anyway in THEIR apps. Did they use scratchbox? And what version of Maemo (or should I say fremantle toolchain) would that be under scratchbox in such case? And why was then the MADDE beta delivered with some old version of Maemo that didn't even have the N900 specific stuff? Maybe I'm stupid and don't know where to look for stuff, but I just couldn't add things up.
5. Now the Qt SDK that unifies the development for several platforms was delivered this week and looks really promising indeed. So I installed it and realized a few things. The simulator target SDK can't be used to compile any Maemo5 or lets say N900 specific things like the Qt::WA_Maemo5StackedWindow or the yellow QMaemo5InformationBox. The headers are simply not there if I try to compile my code. What the hell am I missing there...isn't that supported?
6. So then trying instead to compile my code for the PR1.2 N900 target. Somehow I could compile but not link the application when using the yellow QMaemo5InformationBox. Commenting the use of that box out, I could compile, link and deploy, but on the device I'm back with the undefined reference to the "QVectorData8"... something error message when running the code. Even if I have the Maemo5 libraries installed. Ok, probably this is because the PR1.2 has not been released yet and that the device need the upgrade first.

But still, I'm very confused about the Maemo versioning, the N900 (fremantle toolchain) versioning and I do have trouble finding the one single place that documents clearly what to do, what to expect and what to install when developing for the N900 device.
I don't want to sound like I'm just complaining here, its not my intent. It's just that I find it difficult to find consistent information for the Qt developer targeting the N900. I'd be really happy if someone could straight things out for me once and for all.

Last edited by Larswad; 2010-04-29 at 09:22. Reason: spelling
 

The Following User Says Thank You to Larswad For This Useful Post:
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#53
Most of your problems stem from mixing two versions of Qt: 4.5 and 4.6. They are NOT binary NOR source compatible (unlike desktop versions of Qt).

Qt4.5 is the one you have on the device *now*, and the one the MADDE tech previews and betas supported

Qt4.6 is the one you have in PR1.2, and that is the one that is supported by the Qt SDK and also the one that has the Qt::WA_Maemo5StackedWindow, QMaemo5InformationBox, etc stuff.

The errors you see come from mostly compiling or running code for one by tools meant for the other.
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc
 

The Following 4 Users Say Thank You to attila77 For This Useful Post:
Posts: 385 | Thanked: 426 times | Joined on Dec 2009 @ Gothenburg, Sweden
#54
Originally Posted by attila77 View Post
Most of your problems stem from mixing two versions of Qt: 4.5 and 4.6. They are NOT binary NOR source compatible (unlike desktop versions of Qt).

Qt4.5 is the one you have on the device *now*, and the one the MADDE tech previews and betas supported

Qt4.6 is the one you have in PR1.2, and that is the one that is supported by the Qt SDK and also the one that has the Qt::WA_Maemo5StackedWindow, QMaemo5InformationBox, etc stuff.

The errors you see come from mostly compiling or running code for one by tools meant for the other.
Ok, thanks attila! I can for sure accept that I have done this mixing of sources and libraries that doesn't match the device binaries. And of course I am to blame for even trying such things.
But then, I'm not clear on why there are application's that do have the yellow information box, stacked windows (and more) that actually works under the current firmware. Are they NOT developed using Qt at all then, but instead the GTK toolkit?
If they ARE using Qt for such things, then how?
 
Posts: 80 | Thanked: 53 times | Joined on Feb 2010 @ Berlin, Germany
#55
I guess, those applications simply aren't using Qt.
What attila said is correct.
With the release of PR 1.2, all will be easier. We also will improve the Nokia Qt SDK and the documentation.
 

The Following 4 Users Say Thank You to nath For This Useful Post:
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#56
Originally Posted by Larswad View Post
But then, I'm not clear on why there are application's that do have the yellow information box, stacked windows (and more) that actually works under the current firmware. Are they NOT developed using Qt at all then, but instead the GTK toolkit?
If they ARE using Qt for such things, then how?
They mostly aren't using Qt. Those that ARE, are using a development snapshot version of Qt in extras-devel, and were developed in scratchbox (not with MADDE), or are Qt4.5 apps using a custom extra lib (deprecated with Qt4.6). That's really a hack, with known problems and drawbacks, so I'd very much recommend working with the Qt SDK and (duh) wait for PR1.2 to run those things on the actual devices.
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc
 

The Following 2 Users Say Thank You to attila77 For This Useful Post:
Posts: 385 | Thanked: 426 times | Joined on Dec 2009 @ Gothenburg, Sweden
#57
Thanks, this actually helped and gives a better understanding of what I should expect. Then its just a matter of being patient.

So then I guess it's just a detail: As I mentioned when I compiled my app. using the "Qt for Fremantle PR1.2 Devices (Qt SDK Beta)" version and had a call to the static method QMaemo5InformationBox::information() I managed to compile, but not with linking for some reason. Is there a separate lib I have to add for that one with QT+=xxx, or something. Because I mean as you said that one should be supported for that Qt Version (to build at least).
If I look at the docs it looks like QtGui module...but isnt that by default? (Note I can compile because I include the #include <Qt/QtMaemo5> header). I have opened the file, and the method is declared.

EDIT: Ehm, never mind. This is funny, I just took a shot (didn't know it actually existed as a lib) and added 'QT+=maemo5' in the qmake additional args, and, what the hell it actually linked. Nice...but did I do the right thing?

Last edited by Larswad; 2010-04-29 at 12:58.
 

The Following User Says Thank You to Larswad For This Useful Post:
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#58
You did the right thing. The documentation actually has a bug as it shows these classes as being part of QtGui, when in fact they are in a QtMaemo5 module (which is added with QT+=maemo5, just like you did it).
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc
 

The Following 2 Users Say Thank You to attila77 For This Useful Post:
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#59
Just for closure - I mentioned this to friendly Qt folks on #qt-maemo and voila ! The documentation is fixed
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc
 

The Following 4 Users Say Thank You to attila77 For This Useful Post:
Posts: 24 | Thanked: 12 times | Joined on Mar 2010
#60
I had a few problems when I first downloaded and installed this new SDK version and tried to follow the getting started PDF file. The examples were listed as "not installed" and I only had the option to build projects for a desktop target and not for the simulator or mobile targets.

It turned out that this was because I had previously had an older version of Qt installed (which I had uninstalled prior to this new version), so for anyone else that may have this issue it can be fixed by following the instructions here:

http://wiki.forum.nokia.com/index.ph..._SDK_v1.0_Beta

There are a few files that are left behind by older versions even after uninstalling that need to be manually removed.
 

The Following 2 Users Say Thank You to postformac For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 22:03.