qwtinstall.html
16.3 KB
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>Qwt User's Guide: INSTALL</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Qwt User's Guide
 <span id="projectnumber">6.1-rc3</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">INSTALL </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div class="fragment"><div class="line">Introduction</div>
<div class="line">============</div>
<div class="line"></div>
<div class="line">Qwt uses qmake to build all its components and examples. </div>
<div class="line">qmake is part of a Qt distribution. </div>
<div class="line"></div>
<div class="line">qmake reads project files, that contain the options and rules how to </div>
<div class="line">build a certain project. A project file ends with the suffix <span class="stringliteral">"*.pro"</span>. </div>
<div class="line">Files that end with the suffix <span class="stringliteral">"*.pri"</span> are included by the project </div>
<div class="line">files and contain definitions, that are common <span class="keywordflow">for</span> several project files.</div>
<div class="line"></div>
<div class="line">qwtconfig.pri and qwtbuild.pri are read by all project files of the Qwt </div>
<div class="line">package. qwtconfig.pri is also read by qwt.prf, when building your</div>
<div class="line">application. So the first step is to edit the *.pri files to adjust </div>
<div class="line">them to your needs.</div>
<div class="line"></div>
<div class="line">The subdirs <span class="keyword">template</span> of qmake is known to be buggy when <span class="keyword">using</span> spaces </div>
<div class="line">in path names. So better don<span class="stringliteral">'t build Qwt below a path name with spaces. </span></div>
<div class="line"><span class="stringliteral">( Otherwise you might have to run qmake in all subdirs manually ).</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">Documentation</span></div>
<div class="line"><span class="stringliteral">==========================</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">Qwt includes a class documentation, that is available in various formats:</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">- Html files</span></div>
<div class="line"><span class="stringliteral">- PDF document </span></div>
<div class="line"><span class="stringliteral">- Qt Compressed Help (*.qch ) for the Qt assistant or creator. </span></div>
<div class="line"><span class="stringliteral"> You can load it "Edit Preferences" -> "Documentation" -> "Add..."</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">Building Qwt</span></div>
<div class="line"><span class="stringliteral">==========================</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">The easiest way to build Qwt is from the command line - but when you</span></div>
<div class="line"><span class="stringliteral">insist on using an IDE don'</span>t forget the <span class="stringliteral">"make install"</span> step.</div>
<div class="line"></div>
<div class="line">A) Unix </div>
<div class="line">--------</div>
<div class="line"></div>
<div class="line">qmake qwt.pro</div>
<div class="line">make</div>
<div class="line">make install</div>
<div class="line"></div>
<div class="line">If you have installed a shared library it<span class="stringliteral">'s path has to be known to </span></div>
<div class="line"><span class="stringliteral">the run-time linker of your operating system. On Linux systems read</span></div>
<div class="line"><span class="stringliteral">"man ldconfig" ( or google for it ). Another option is to use</span></div>
<div class="line"><span class="stringliteral">the LD_LIBRARY_PATH (on some systems LIBPATH is used instead, on MacOSX</span></div>
<div class="line"><span class="stringliteral">it is called DYLD_LIBRARY_PATH) environment variable.</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">If you only want to check the Qwt examples without installing something,</span></div>
<div class="line"><span class="stringliteral">you can set the LD_LIBRARY_PATH to the lib directory </span></div>
<div class="line"><span class="stringliteral">of your local build. </span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">If you didn'</span>t enable autobuilding of the examples in qwtconfig.pri</div>
<div class="line">you have to build the examples <span class="keyword">this</span> way:</div>
<div class="line"></div>
<div class="line">cd examples</div>
<div class="line">qmake examples.pro</div>
<div class="line">make</div>
<div class="line"></div>
<div class="line"></div>
<div class="line">B) Win32/MSVC </div>
<div class="line">--------</div>
<div class="line"></div>
<div class="line">Check that your Qt version has been built with MSVC - not with MinGW !</div>
<div class="line"></div>
<div class="line">Please read the qmake documentation how to convert </div>
<div class="line">your *.pro files into your development environment.</div>
<div class="line"></div>
<div class="line">F.e MSVC with nmake:</div>
<div class="line">qmake qwt.pro</div>
<div class="line">nmake</div>
<div class="line">nmake install</div>
<div class="line"></div>
<div class="line">If you didn<span class="stringliteral">'t enable autobuilding of the examples in qwtconfig.pri</span></div>
<div class="line"><span class="stringliteral">you have to build the examples this way:</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">cd examples</span></div>
<div class="line"><span class="stringliteral">qmake examples.pro</span></div>
<div class="line"><span class="stringliteral">nmake</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">Windows doesn'</span>t like mixing of debug and release binaries. Most</div>
<div class="line">of the problems with <span class="keyword">using</span> the Qwt designer plugin are because</div>
<div class="line">of trying to load a Qwt debug library into a designer release </div>
<div class="line">executable.</div>
<div class="line"></div>
<div class="line">It<span class="stringliteral">'s not possible to load a plugin, that has been built with MinGW</span></div>
<div class="line"><span class="stringliteral">into a Qt Designer/Creator, that has been built with MSVC ( and v.v ).</span></div>
<div class="line"><span class="stringliteral">This is a common reason for problems, when working with prebuild</span></div>
<div class="line"><span class="stringliteral">binaries of the Qt Creator.</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">C) Win32/MinGW </span></div>
<div class="line"><span class="stringliteral">--------</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">Check that your Qt version has been built with MinGW - not with MSVC !</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">Start a Shell, where Qt4 is initialized. ( F.e. with</span></div>
<div class="line"><span class="stringliteral">"Programs->Qt by Trolltech ...->Qt 4.x.x Command Prompt" ).</span></div>
<div class="line"><span class="stringliteral">Check if you can execute "make" or something like "mingw32-make".</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">qmake qwt.pro</span></div>
<div class="line"><span class="stringliteral">make</span></div>
<div class="line"><span class="stringliteral">make install</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">If you didn'</span>t enable autobuilding of the examples in qwtconfig.pri</div>
<div class="line">you have to build the examples <span class="keyword">this</span> way:</div>
<div class="line"></div>
<div class="line">cd examples</div>
<div class="line">qmake examples.pro</div>
<div class="line">make</div>
<div class="line"></div>
<div class="line">Windows doesn<span class="stringliteral">'t like mixing of debug and release binaries. Most</span></div>
<div class="line"><span class="stringliteral">of the problems with using the Qwt designer plugin are because</span></div>
<div class="line"><span class="stringliteral">of trying to load a Qwt debug library into a designer release </span></div>
<div class="line"><span class="stringliteral">executable.</span></div>
<div class="line"><span class="stringliteral"></span></div>
<div class="line"><span class="stringliteral">Don'</span>t forget to tell qmake where to find qwt.prf:</div>
<div class="line">qmake -<span class="keyword">set</span> QMAKEFEATURES ...</div>
<div class="line"></div>
<div class="line">D) MacOSX</div>
<div class="line">--------</div>
<div class="line"></div>
<div class="line">Well, the Mac is only another Unix system. So read the instructions in A).</div>
<div class="line"></div>
<div class="line">In the recent Qt4 releases the <span class="keywordflow">default</span> target of qmake is to generate</div>
<div class="line">XCode project files instead of makefiles. So you might need to <span class="keywordflow">do</span> the</div>
<div class="line">following:</div>
<div class="line"></div>
<div class="line">qmake -spec macx-g++ qwt.pro</div>
<div class="line">...</div>
<div class="line"></div>
<div class="line">E) Qt Embedded</div>
<div class="line">--------</div>
<div class="line"></div>
<div class="line">I only tested Qwt with Qt Embedded in qvfb (Virtual Framebuffer Devivce)</div>
<div class="line">Emulator on my Linux box. To build Qwt <span class="keywordflow">for</span> the emulator was as simple as </div>
<div class="line"><span class="keywordflow">for</span> a regular Unix build.</div>
<div class="line"></div>
<div class="line">F) Symbian</div>
<div class="line">--------</div>
<div class="line"></div>
<div class="line">I never tried <span class="keyword">this</span> platform myself.</div>
<div class="line"></div>
<div class="line">Using Qwt</div>
<div class="line">===========</div>
<div class="line"></div>
<div class="line">For building a Qwt application with qmake use the Qwt configuration features</div>
<div class="line">file, that has been installed by <span class="stringliteral">"make install"</span>. When qmake is able to find </div>
<div class="line">it ( https:<span class="comment">//qt-project.org/doc/qt-4.8/qmake-advanced-usage.html#adding-new-configuration-features )</span></div>
<div class="line">you can simply add <span class="stringliteral">"CONFIG += qwt"</span> to your application project file.</div>
<div class="line"></div>
<div class="line">If you don<span class="stringliteral">'t use qmake you have to add the include path to find the Qwt </span></div>
<div class="line"><span class="stringliteral">headers to your compiler flags and the Qwt library to your linker list.</span></div>
<div class="line"><span class="stringliteral">Don'</span>t forget to add QWT_DLL to the compiler flags, when you work with a </div>
<div class="line">Qwt-DLLs on Windows.</div>
<div class="line"></div>
<div class="line">For <span class="keyword">using</span> the designer plugin you have to configure the Qt designer/creator </div>
<div class="line">where to look <span class="keywordflow">for</span> plugins. This can be done by setting the QT_PLUGIN_PATH or</div>
<div class="line"><span class="keyword">using</span> a qt.conf file ( see http:<span class="comment">//doc.qt.nokia.com/4.7/deployment-plugins.html ).</span></div>
<div class="line">Beside the plugin the Qwt library itsself also needs to be known to the Designer/Creator</div>
<div class="line">( see LD_LIBRARY_PATH, PATH ... above ).</div>
<div class="line"></div>
<div class="line">Good luck !</div>
</div><!-- fragment --> </div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1
</small></address>
</body>
</html>