View Single Post
Posts: 328 | Thanked: 101 times | Joined on Dec 2009
#18
try this:

May not be perfect. But hopefully will be able to help you.

0. Install the GUI version (download from Nokia)
http://www.forum.nokia.com/Tools_Doc...atforms/Maemo/

after that follow this

I will assume you will use Ubuntu (I am using Ubuntu 9.04)

lets call these machines:
1. Ubuntu Normal Screen
2. ScratchBox Screen --> where its actually running from Ubuntu Normal PC


1. Ubuntu Normal Screen
/scratchbox/login --> this will launch Scratchbox Screen

2. Ubuntu Normal Screen
Run Another Terminal then run this
Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb

3. Scratchbox Screen
On Scratchbox
export DISPLAY=:2
af-sb-init.sh start




Install QT (one time only)
4. Scratchbox Screen
After login needs to install the following:
fakeroot echo "deb http://repository.maemo.org/extras/ fremantle free non-free" >> /etc/apt/sources.list
fakeroot echo "deb-src http://repository.maemo.org/extras/ fremantle free" >> /etc/apt/sources.list
fakeroot echo "deb http://repository.maemo.org/extras-devel fremantle free non-free" >> /etc/apt/sources.list
fakeroot echo "deb-src http://repository.maemo.org/extras-devel fremantle free" >> /etc/apt/sources.list


fakeroot apt-get update
fakeroot apt-get remove libqt4*
fakeroot apt-get install libqt4-maemo5-dev

fakeroot apt-get install libqt4-gui libqt4-dev

fakeroot apt-get install libqt4-webkit libqt4-opengl

4b ->
sb-conf select FREMANTLE_ARMEL
arch -> make sure its arm
go back to step 4 to install for the ARM platform (just do all the commands again)


5. logout
6. Execute Step 1 and 3 again (since we just install qt we need to make sure the path has been updated)
7.
Create a sample Qt Application
mkdir qt
cd qt
mkdir 1
cd 1

vi hello.cpp
#include <qapplication.h>
#include <qpushbutton.h>


int main( int argc, char **argv )
{
QApplication a( argc, argv );

QPushButton hello( "Hello world!", 0 );
hello.resize( 100, 30 );

//a.setMainWidget( &hello );
hello.show();
return a.exec();
}


8. Compile the program
qmake -project
qmake
make

./1
or
run-standalone.sh ./1 --> this will use the maemo theme

9. done ;-)

have fun

10.To Shutdown the screen

Scratchbox Screen
to shutdown
af-sb-init.sh stop


--> Misc
1. How to include netwok in the compilation
qmake -project
then change the .pro result and add the following:

QT += network

To remove the GUI
QT -= gui --> to support GUI
QT += xml --> to add xml support

to add all support
QT += gui network support xml opengl sql



how to transfer the file back to your maemo

do it from the "scratchbox screen"
1. install openssh in your nokia n900 (nokia n900 device)
dont forget to set your password

scratchbox screen
-------------------
2. Set your compilation to ARM platform
sb-conf select FREMANTLE_ARMEL --> for compile to your internet tablet
sb-conf select FREMANTLE_X86 --> for normal compilation

3. qmake -project
4. qmake
5. make
6. the final file assuming the "demoapp" is the executable ARM binary.
7. scp demoapp root@192.168.2.168:/home/user
8. ssh root@192.168.2.168
9. cd /home/user
10. ./demoapp

then you should see the application appears in your nokia n900


If you could not run the applicaiton, maybe the qt is not yet installed in your nokia n900
1. do this from your device as root
apt-get install libqt4-gui
apt-get install libqt4-webkit libqt4-opengl libqt4-dbus




FAQ:
1. What if you can not change your Configuration from X86 to ARM?
sb-conf killall --signal=9

2. How to see what is the device available in your Sb-conf?
sb-conf ls -T

Last edited by tirtawn; 2010-03-13 at 17:31.
 

The Following 5 Users Say Thank You to tirtawn For This Useful Post: