Ah, yes, forgot to mention that uuid was needed from e2fsprogs.
Well you got there anyway.
I think the compiler options match what I did, however, the documents suggest building QT X11 stuff. I just copied moc from /opt/Qtopia/bin to the qt-embedded bin directory.
What you won't get to fully compile when building with -static are things like QLibraryPrivate::loadLibrary since ld.so stuff isn't built (if you did the same as me and only built the static libraries in the toolchain) so it's possible that quite a lot of the default stuff won't build because it uses some of these classes to load plugins etc.
It does, however, seem to produce a perfectly useable libqpe.a
I think the -lm bits needed to use libm.a are often built into the SPECS of the toolchain so you don't need to include -lm for the maths.h stuff to work. Unfortunately I think the crosstool stuff misses this so yes you will have to specify -lm.
I think you are just about there.
Incidentally, I think you are going to run into the libSDL issue that I have hit next.
It seems that there may be a bug in the qtopia stuff in libSDL which isn't addressed in any of the patched versions. I have posted a query on this on the zports Developer forum on sourceforge as follows (although I have also tried libSDL 1.25 and libSDL 1.27 unpatched - with the same result).
Screen region initialises incorrectly
Using the current CVS of libSDL, and repro this with the prebuilt binaries, however, the error turns fatal in my project.
To see this error start an application such as PRBOOM in an unzoomed mode on an SL-C860, you will note that instead of the whole screen being blanked to black only approximately 2/3 is blanked. In fact the blanking only effects the left 480 pixels.
It seems that there is something related to the rotation stuff that doesn't rotate to blanking routine correctly (can't find it yet). My particular project is a statically linked quake with a softfloat library. I have built the toolchain for GCC 3.4.2, GLIBC 2.3.3, QTE 2.3.7, Qtopia Free 1.7.0 and zports libSDL all for static linking to suit a sharp ROM.
I can happily build the quake binary which runs perfectly unzoomed, rotated to 90deg, with the right 160 pixels uninitialised (rest of the screen blanks correctly). As soon as I run in zoomed mode 320x240 I get the left 240 pixels painted correctly with the right 80 pixels blanked (actually to white, not initialised) and the application segfaults.
I think for some reason when running with standard shared libraries using GCC 2.95 the error is generally less fatal and allows apps to run un-noticed.
As I say you can repro this with the steps earlier in this posting without having to do anything extravagant. I have a feeling that it may just be the code that blanks the screen to black. I have had a trawl through SDL_sysvideo.cc and SDL_QWin.cc but japanese comments in the files don't help me much.
Any pointers ?
...so if _Psycho or mtiera are listening, do you guys have any suggestions ?
- Andy