summaryrefslogtreecommitdiff
path: root/docs/start.doc
Unidiff
Diffstat (limited to 'docs/start.doc') (more/less context) (ignore whitespace changes)
-rw-r--r--docs/start.doc51
1 files changed, 33 insertions, 18 deletions
diff --git a/docs/start.doc b/docs/start.doc
index 01b6ab1..53a4e36 100644
--- a/docs/start.doc
+++ b/docs/start.doc
@@ -37,143 +37,158 @@ environment. It also includes cross-compiler software so that you can
37compile your application to run on the target handheld device. 37compile your application to run on the target handheld device.
38If you do not already have the Qtopia SDK (this document is normally 38If you do not already have the Qtopia SDK (this document is normally
39part of the SDK), contact info@trolltech.com, or see the 39part of the SDK), contact info@trolltech.com, or see the
40<a href=http://www.trolltech.com>Trolltech</a> web site. 40<a href=http://www.trolltech.com>Trolltech</a> web site.
41 41
42<p>To build applications for the SHARP SL5000 or similar StrongARM-based devices, 42<p>To build applications for the SHARP SL5000 or similar StrongARM-based devices,
43you will also need a StrongARM cross compiler. Entrants in the programming 43you will also need a StrongARM cross compiler. Entrants in the programming
44contest for this device will have received both the SDK and a cross-compiler. 44contest for this device will have received both the SDK and a cross-compiler.
45 45
46<p> 46<p>
47The SDK includes an example program. We recommend that you compile and 47The SDK includes an example program. We recommend that you compile and
48run this example to learn how things work, before tackling your own 48run this example to learn how things work, before tackling your own
49projects. 49projects.
50 50
51<p> 51<p>
52To compile the example program for running on the Linux desktop: 52To compile the example program for running on the Linux desktop:
53 53
54<ol> 54<ol>
55 <li> 55 <li>
56 <p> 56 <p>
57 Check the environment is correct: 57 Check the environment is correct:
58 58
59 <p> 59 <p>
60<pre> 60<pre>
61 export OPIEDIR=/opt/Qtopia 61 export QPEDIR=/opt/Qtopia
62 export QTDIR=/opt/Qtopia 62 export QTDIR=/opt/Qtopia
63 export PATH=$QTDIR/bin:$PATH 63 export PATH=$QTDIR/bin:$PATH
64 export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-generic-g++ 64 export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-generic-g++
65 export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 65 export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
66</pre> 66</pre>
67 67
68 <li> Take a copy of the example: 68 <li> Take a copy of the example:
69 69
70<pre> 70<pre>
71 cd somewhere 71 cd somewhere
72 cp -r $OPIEDIR/example . 72 cp -r $QPEDIR/example .
73 cd example 73 cd example
74</pre> 74</pre>
75 75
76 <li> Generate a Makefile: 76 <li> Generate a Makefile:
77 77
78<pre> 78<pre>
79 tmake -o Makefile example.pro 79 tmake -o Makefile example.pro
80</pre> 80</pre>
81 81
82 <li> Build the example: 82 <li> Build the example:
83 83
84<pre> 84<pre>
85 make 85 make
86</pre> 86</pre>
87 87
88 <li> Install it: 88 <li> Install it:
89 89
90<pre> 90<pre>
91 su # root privileges required to install 91 su # root privileges required to install
92 cp example.desktop $OPIEDIR/apps/Applications 92 cp example.desktop $QPEDIR/apps/Applications
93 cp Example.png $OPIEDIR/pics 93 cp Example.png $QPEDIR/pics
94 cp example $OPIEDIR/bin 94 cp example $QPEDIR/bin
95 exit # no need to be root anymore 95 exit # no need to be root anymore
96</pre> 96</pre>
97 97
98 <li> To run it, first run the Qt Virtual Framebuffer: 98 <li> To run it, first run the Qt Virtual Framebuffer:
99 99
100<pre> 100<pre>
101 qvfb &amp; 101 qvfb &amp;
102</pre> 102</pre>
103 103
104 <li> Then run the <i>Qtopia</i> environment: 104 <li> Then run the <i>Qtopia</i> environment:
105 105
106<pre> 106<pre>
107 qpe 107 qpe
108</pre> 108</pre>
109 109
110<p> 110<p>
111 Your application should be available in the Applications tab visible 111 Your application should be available in the Applications tab visible
112inside the Qt Virtual Framebuffer window. 112inside the Qt Virtual Framebuffer window.
113</p> 113</p>
114 114
115 <li> If you want to distribute your applications to others, build an RPM package, e.g.: 115 <li> If you want to distribute your applications to others, build an RPM package, e.g.:
116<pre> 116<pre>
117 mkipks -rpm -arch i386 example.control 117 mkipks -rpm -arch i386 example.control
118</pre> 118</pre>
119</ol> 119</ol>
120 120
121<p> 121<p>
122To make your own application, use the example program as a model. Make sure that 122To make your own application, use the example program as a model. Make sure that
123when you add files to your project, you also add them 123when you add files to your project, you also add them
124to your project file (e.g. <tt>example.pro</tt>) and rerun the 124to your project file (e.g. <tt>example.pro</tt>) and rerun the
125<tt>tmake</tt> command to update the <tt>Makefile</tt>. 125<tt>tmake</tt> command to update the <tt>Makefile</tt>.
126 126
127<p> 127<p>
128To build you application for the SHARP SL5000 rather than just running 128To build you application for the SHARP SL5000 rather than just running
129on the desktop, the process is similar: 129on the desktop, the process is similar:
130 130
131<ol> 131<ol>
132 <li> 132 <li>
133 <p> 133 <p>
134 Check the environment is correctly set for the SHARP SL5000: 134 Check the environment is correctly set for the SHARP SL5000:
135 135
136 <p> 136 <p>
137<pre> 137<pre>
138 export OPIEDIR=/opt/Qtopia/sharp 138 export QPEDIR=/opt/Qtopia/sharp
139 export QTDIR=/opt/Qtopia/sharp 139 export QTDIR=/opt/Qtopia/sharp
140 export PATH=$QTDIR/bin:/usr/local/arm/bin:$PATH 140 export PATH=$QTDIR/bin:/usr/local/arm/bin:$PATH
141 export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-sharp-g++ 141 export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-sharp-g++
142</pre> 142</pre>
143 143
144 <li> Build and install exactly the same as you did for the desktop 144 <li> Rebuild the makefile ($TMAKEPATH has changed) above:
145 (note that the generated Makefile is different):
146<pre> 145<pre>
147 make clean 146 make clean
148 tmake -o Makefile example.pro 147 tmake -o Makefile example.pro
149 ... <i>etc.</i>
150</pre> 148</pre>
151 149
152 <li> To install it on a device, build an ipk package file (you should be root 150 <li> Build it:
153 to do this, since then it will strip the executable for you):
154<pre> 151<pre>
152 make
153</pre>
154
155 <li> Install it (note that this is now going into the /opt/Qtopia/sharp/ directory):
156<pre>
157 su # root privileges required to install
158 cp example.desktop $QPEDIR/apps/Applications
159 cp Example.png $QPEDIR/pics
160 cp example $QPEDIR/bin
161 exit # no need to be root anymore
162</pre>
163
164</pre>
165
166 <li> To install it on a device, build an ipk package file:
167<pre>
168 su # root privileges required to strip the executable
155 mkipks example.control 169 mkipks example.control
170 exit # no need to be root anymore
156</pre> 171</pre>
157 172
158<p> 173<p>
159 The resulting <tt>example-1.0.0.ipk</tt> can be installed on the 174 The resulting <tt>example-1.0.0.ipk</tt> can be installed on the
160SL5000 by using <i>Qtopia Desktop</i>. 175SL5000 by using <i>Qtopia Desktop</i>.
161</p> 176</p>
162 177
163</ol> 178</ol>
164 179
165<h3>Building Your Own Applications</h3> 180<h3>Building Your Own Applications</h3>
166 181
167Once you have built the example, you can proceed with writing 182Once you have built the example, you can proceed with writing
168your own applicatons. If you are not familiar with Qt, you should 183your own applicatons. If you are not familiar with Qt, you should
169consult the Qt documentation by pointing your web browser at 184consult the Qt documentation by pointing your web browser at
170<a href=file:/opt/Qtopia/doc/html/index.html><tt>/opt/Qtopia/doc/html/index.html</tt></a> 185<a href=file:/opt/Qtopia/doc/html/index.html><tt>/opt/Qtopia/doc/html/index.html</tt></a>
171when you have installed the SDK, or use the online 186when you have installed the SDK, or use the online
172<a href=http://doc.trolltech.com/>Trolltech Documentation Site</a>. 187<a href=http://doc.trolltech.com/>Trolltech Documentation Site</a>.
173The <a href="http://www.trolltech.com/products/qt/whitepaper.html">Qt 188The <a href="http://www.trolltech.com/products/qt/whitepaper.html">Qt
174Whitepaper</a> provides a good overview of, and introduction to, the 189Whitepaper</a> provides a good overview of, and introduction to, the
175Qt API. 190Qt API.
176 191
177<p> 192<p>
178When you add more files to your application, just edit the project 193When you add more files to your application, just edit the project
179file (e.g. <tt>example.pro</tt>) and rerun the <tt>tmake</tt> 194file (e.g. <tt>example.pro</tt>) and rerun the <tt>tmake</tt>