blob: 5aa9f06f665e3eea6072dc8fac71fdd13c444f3a (
plain)
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
|
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/. Make sure you do the part about
Wine setup as well.
- Anderson Lizardo's patches for GnuPoc. Look for the
qt_s60_gnupoc_v9.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 RVCT22INC=<s60-root>/epoc32/include
export RVCT22INC=$RVCT22INC,<s60-root>/epoc32/include/rvct2_2
export RVCT22INC=$RVCT22INC,<s60-root>/epoc32/include/variant
export RVCT22INC=$RVCT22INC,<s60-root>/epoc32/include/stdapis
export RVCT22INC=$RVCT22INC,<s60-root>/epoc32/include/stdapis/stlport
export RVCT22LIB=<s60-root>/epoc32/release/armv5/lib
export PATH=$PATH:<s60-root>/epoc32/tools
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. Switch out a few variables in profiles. Open
mkspecs/symbian/linux-armcc/qmake.conf, search for
"FIXME/Epoc32" and switch out the FIXME part with your SDK
installation directory. You might have to switch the case of the
Epoc32 directory as well.
3. 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
4. Compile the host tools. This unfortunately does not happen
automatically.
cd src/tools
for i in bootstrap moc rcc uic; do make -C $i; done
5. Compile QtCore.dll:
cd ../corelib
qmake -platform symbian/linux-armcc
make
and then wait for a while.
6. Compile some helloworld application (I leave the details to you
;-)
qmake -platform symbian/linux-armcc
make
7. Package and run on the phone. This is unfortunately a bit of a
manual step at the moment. Your best bet is to look at a Windows
build of the same application, and manually grab the .rsc files
that it refers to and put them in the application directory on
Linux. Then you can take the pkg_template.pkg file provided in
the repository and tweak it to include the files you want. Note
that due to limitations on how the makesis tool interprets file
paths, all the files included need to be in the current directory
(or a link from there).
Assuming that all the files are in place, do this:
cp <qt-root>/src/s60installs/selfsigned.* .
winewrapper makesis.exe MyApp.pkg MyApp_unsigned.sis
winewrapper signsis.exe MyApp_unsigned.sis MyApp.sis \
selfsigned.cer selfsigned.key
8. Enjoy QObjects and "hello world" on the phone!
|