<style type="text/css">
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
--></style>** The problems **
<p class="western" style="margin-bottom:0cm"><br>
</p>
<p class="western" style="margin-bottom:0cm">Using git to download
source and Techbase for instructions on Cmake build settings with
recent versions of Qt & Qt Creator I experience the following
issues. Others have reported similar problems dating back about a
year.</p>
<ol><li><p class="western" style="margin-bottom:0cm">Marble on Mac OS X
compiles but will not link.</p>
</li><li><p class="western" style="margin-bottom:0cm">When compiling
MarbleWidgetDesignerPlugin on Mac OS X resulting target is built as
.so not .dylib</p>
</li><li><p class="western" style="margin-bottom:0cm">After compiling
MarbleWidgetDesignerPlugin and installing in <location> the
plugin does not appear in the list of widgets Qt Creator displays,
but it does appear in Qt Designer.</p></li></ol><p class="western" style="margin-bottom:0cm"><br></p><p class="western" style="margin-bottom:0cm">** My system &
installation **<br></p>
<p class="western" style="margin-bottom:0cm"></p><p class="western" style="margin-bottom:0cm">
<br></p>
<p class="western" style="margin-bottom:0cm">Mac Book Pro</p>
<p class="western" style="margin-bottom:0cm">OS X 10.6.8 (s/w update
current)</p>
<p class="western" style="margin-bottom:0cm">2.4 Ghz Intel Core i5</p>
<p class="western" style="margin-bottom:0cm">Qt Creator 2.4.1
revision 8cd370e163</p>
<p class="western" style="margin-bottom:0cm">Qt 4.7.4 (4.8.0 also
installed but not yet used)</p>
<p class="western" style="margin-bottom:0cm">Marble 1.3.0 stable
(download from git)</p>
<p class="western" style="margin-bottom:0cm">Using marble library
0.13.0</p>
<p class="western" style="margin-bottom:0cm">Compiled using standard
instructions and CMAKE flags as recommended on Techbase:</p>
<p class="western" style="margin-bottom:0cm"><br>
</p>
<p class="western" style="margin-bottom:0cm">cmake
</p>
<p class="western" style="margin-bottom:0cm">-DCMAKE_BUILD_TYPE=release
</p>
<p class="western" style="margin-bottom:0cm">-DQT_ONLY=on</p>
<p class="western" style="margin-bottom:0cm">-DWITH_DESIGNER_PLUGIN=on</p>
<p class="western" style="margin-bottom:0cm">-DCMAKE_INSTALL_PREFIX=/Applications/
../marble</p>
<p class="western" style="margin-bottom:0cm">
</p>
<p class="western" style="margin-bottom:0cm">Qt SDK installed under
/Users/<me>/QtSDK</p>
<p class="western" style="margin-bottom:0cm">Marble source in
/Users/<me>/marble</p>
<p class="western" style="margin-bottom:0cm">Build dir is
/Users/<me>/marble-build</p>
<p class="western" style="margin-bottom:0cm"><br>
</p>
<p class="western" style="margin-bottom:0cm">** Workarounds **<br></p>
<p class="western" style="margin-bottom:0cm"><br>
</p>
<p class="western" style="margin-bottom:0cm">[Linker problem]The
linker problem arises because the standard Frameworks installed from
Nokia are built as x86_64. The standard build without modifying
cmake files is i386. Comment out line 160 in cmakelists.txt at top
of the source tree and linking proceeds.
</p>
<p class="western" style="margin-bottom:0cm">
</p>
<p class="western" style="margin-bottom:0cm">Reports from Akos ( on
Marble-devel early in April 2011) suggest that specifying
architecture using Cmake flags is overridden to i386. I tried this
myself and (unless I did something wrong – possible) I had the same
result.</p>
<p class="western" style="margin-bottom:0cm"><br>
</p>
<p class="western" style="margin-bottom:0cm">[Plugin in problem]
After build (but before installation) the plugin build targets are
present as .so Unix Executables rather than dylibs. For example, I
get libLatLonEditPlugin.so in directory
/Users/<me>/marble-build/src/plugins/designer/latloneditwidget/liblatloneditwidget.so</p><p class="western" style="margin-bottom:0cm">If you examine link.txt
in the MarbleWidgetPlugin.dir (under CmakeFiles under
/Users/<me>/marble-build/src/plugins/designer/marblewidget) and
replace -bundle with -dylib and .so with .dylib in the output clause
and invoke gcc from the command line the dylib is build. It can then
be manually installed into the relevant place for Designer to
recognise it.
</p>
<p class="western" style="margin-bottom:0cm"><br>
</p>
<p class="western" style="margin-bottom:0cm">[Creator problem]
Having moved the marble widget dylib into the designer plugin install
directory under the Qt install directory, the widget is not visible
in Creator's default form editor windows. But if designer is used
outside of Creator, it is present and can be used.</p>
<p class="western" style="margin-bottom:0cm"><br>
</p>
<p class="western" style="margin-bottom:0cm">The installation path
used for the plugin is:
/Users/<me>/QtSDK/Desktop/Qt/474/gcc/plugins/designer/libMarbleWidgetPlugin.dylib</p>
<p class="western" style="margin-bottom:0cm">
</p>
<p class="western" style="margin-bottom:0cm">I suspect this last is a problem with Creator rather than Marble - but for info.<br>
</p>
<p class="western" style="margin-bottom:0cm"><end></p>