1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
How to build Qt for Symbian using the Linux makespec.
Prerequisites:
- Working RVCT 2.2 native Linux compiler. The new publicly
available RVCT 4.0 compiler may work, but it hasn't been tested
yet.
- A working GnuPoc environment. See this page for details:
http://www.martin.st/symbian/
Download the latest version, unpack it and run the 'install_eka2_tools' script as
described in the last part under the EKA2 part. The part about the your own gcc
are not needed as we use the rvct compiler.
Make sure you do the part about Wine setup as well.
- Anderson Lizardo's patches for GnuPoc. Look for the
qt_s60_gnupoc_v10.patch on this page:
http://lizardo.wordpress.com/2009/09/24/installing-qt-for-s60-daily-snapshots-on-linux/
and carry out the instructions under point 8: Installing Open C.
Compiling:
1. First a few environment variables need to be set:
export RVCT22LIB=<rvct-dir>/lib/armlib
export EPOCROOT=<s60-root>
export PATH=$PATH:<s60-root>/epoc32/tools:<rvctInstallDir>/bin
export PATH=$PATH:<qt-root>/bin
Replace the s60-root with the installation directory of your SDK,
and the qt-root with the root of your Qt repository.
These are good candidates for putting in a script somewhere.
2. Run configure. It needs a bit more switches than usual, so here's
the full line:
./configure -developer-build -platform linux-g++ -xplatform \
symbian/linux-armcc -little-endian -host-little-endian \
-arch symbian
3. Compile Qt
cd src
make
and then wait for a while.
4. Package and install Qt
cd s60installs
Edit Qt_template.pkg and change the first 0x2xxxxxxx to
0xExxxxxxx. Then execute:
makesis Qt_template.pkg
signsis Qt_template.sis Qt_template.sisx selfsigned.cer selfsigned.key
Then put Qt_template.sisx on a memory card and install it from
the phone file manager.
Alternatively, you can use the runonphone tool found in the tools
directory of Qt. To build, this requires a separately configured
Qt installation for Linux, unfortunately. To use it, you also
need have App TRK running on the phone. At the time of writing,
only bleeding edge Linux kernels are able to autodetect the USB
serial port on the phone, but you can force detection by running:
modprobe usbserial vendor=0xXXXX product=0xXXXX
The XXXXs should be replaced with the two values listed for your
device when executing "lsusb". In most distributions, this will
lead to the creation of two devices: /dev/ttyUSB0 and
/dev/ttyUSB1. The latter is usually the one that App TRK responds
to. Then execute:
runonphone -p /dev/ttyUSB1 -s Qt_template.sisx dummy.exe
The dummy.exe argument is irrelevant, since we are not executing
anything yet.
5. Compile some helloworld application (I leave the details to you
;-)
qmake
make
6. Package, install and run application.
makesis helloworld_template.pkg
signsis helloworld_template.sis helloworld_template.sisx \
<QTDIR>/src/s60installs/selfsigned.cer \
<QTDIR>/src/s60installs/selfsigned.key
Then either install by memory card, or install and run like this:
runonphone -p /dev/ttyUSB1 -s helloworld_template.sisx \
helloworld.exe
7. Enjoy "hello world" on the phone!
|