Hi every one.<br>So I have updated this page <a href="http://techbase.kde.org/Projects/Marble/WindowsCompiling">http://techbase.kde.org/Projects/Marble/WindowsCompiling</a><br>And I have committed this new one <a href="http://techbase.kde.org/Projects/Marble/MarbleWindows">http://techbase.kde.org/Projects/Marble/MarbleWindows</a><br>
Let me know about some bad english skill... :) and/or lake of explanations.<br>And what do you think about.<br>For me my work is done here.<br>Thanks.<br>CU<br><br>Sylvain (aka GarthPS)<br><br><br><div class="gmail_quote">
2010/5/27 Sylvain Paré <span dir="ltr"><<a href="mailto:sylvain.pare@gmail.com">sylvain.pare@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi Dennis,<br><br>my answers in line<br><br><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div text="#000000" bgcolor="#ffffff">
<div><div class="im">
On 21.05.2010 17:48, Sylvain Paré wrote:
</div><div class="im"><blockquote type="cite">
So here the trick : "mingw32-make <b>release</b>" !<br>
the release build does not return error when we launch it!<br>
<br>
</blockquote></div></div><div class="im">
Both debug and release builds work for me, none of them too reliable
though. Sometimes crashing right at start, sometimes later, sometimes
never.</div></div></blockquote><div> <br>I mean for my project, not for marble. I confirm again today!<br>I think it come from the fact you don't use the same version of Qt<br>here is my .pro file :<br>############################<br>
<div style="margin-left: 40px;">QT += network<br>QT += xmlpatterns<br>CONFIG += warn_on \<br> thread \<br> qt \<br> debug <br>CONFIG += console<br><br>TEMPLATE = app<br>TARGET = EasyRun<br>DESTDIR = bin<br>
DEPENDPATH += . \<br> src<br>INCLUDEPATH += . \<br> src<br>OBJECTS_DIR = temp/<br>MOC_DIR = temp/<br>UI_HEADERS_DIR = temp/<br>UI_SOURCES_DIR = temp/<div class="im"><br> <br>win32 {<br> INCLUDEPATH += $$quote(C:/Program Files/marble/include/marble)<br>
LIBS += $$quote(C:/Program Files/marble/libmarblewidget.dll)<br>}<br>unix {<br> LIBS += -L/usr/local/lib \<br> -lmarblewidget<br>}<br><br></div># Input<br>HEADERS += ...<br>SOURCES += ... <br>RESOURCES += ...<br>
FORMS += ...<br>
</div>############################<br>So when I build my app with debug mode I have "Microsoft Visual C++ Runtime Library" "runtime error"<br>which is not the case in release mode.<br>(...a moment pass...)<br>
Ok I took a look at the differences between Makefile.Debug and MakeFile.Release<br>and the meaning point is that in debug qmake asks to link against <br>-lQtXmlPatterns<b>d</b>4 -lQtGui<b>d</b>4 -lQtNetwork<b>d</b>4 -lQtCore<b>d</b>4 and not -lQtXmlPatterns4 -lQtGui4 -lQtNetwork4 -lQtCore4<br>
So that is it! Changing those libs works!<br>I am wondering if it is not Qt's guys that have build those debugging libraries for VS instead of mingw...<br>Some Qt's guys hanging here?<br><br><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
<div class="im">
>> The marble widget in my app is just a black
rectangle where right and<br>
>> left clicks work as usual ( contextual menu etc)<br>
>> Like with the standalone marble application => NO map!
instead of<br>
>> being blue it is black...<br>
>> I think it is normal as it does not work in marble itself.<br>
>> So again : ANYONE having a clue??<br>
>><br>
> Did you set a valid map theme on the MarbleWidget in your
application?<br>
><br></div><div class="im">Another thing: I think (correct me if I'm wrong) that in Windows
plugins<br>
and data directories are searched relative to the application directory.<br>
If you use it in your own application, make sure to copy those two<br>
directories from the marble install over: If you have C:\MyApp\foo.exe,<br>
make sure to copy the data and plugins directories from the Marble<br>
install directory to C:\MyApp\<br></div></blockquote>
<br>Ok you score! I needed to copy marble\data\ to MyApp\<br>( now it is not a big black rectangle but as in marble a big blue marble )<br>But tiles go to C:\Documents and Settings\Administrateur\Application Data\.marble\data\maps\earth<br>
and not to C:\Program Files\Marble (and this both for Marble 0.8.0 or MarbleSVN)<div class="im"><br><br><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">
To elaborate on this as well: You need a release build of Marble<br>
(otherwise QtDesigner complains) and you need to copy<br>
libmarblewidget.dll (the release version, not the one ending with a 'd')<br>
to a path that QtDesigner will know. To be on the safe side, copy it<br>
next to designer.exe in the Qt bin folder. Also copy the data and<br>
plugins directories there (see above). Once that is done, QtDesigner<br>
will show the three Marble plugins.<br><br>
If it still is not working, check the Help => Plugins dialog in<br>
QtDesigner. For each failing plugin, it will show an error description.<br>
If it complains about mixed debug and release build, correct that<br>
setting in CMakeCache.txt (CMAKE_BUILD_TYPE). If it complains about a<br>
missing module and doesn't tell you which one it misses, use Dependency<br>
Walker [1]: Open the Marble designer plugin in it to see which dependent<br>
dlls are resolved and which not. Ignore wer.dll and ieshims.dll on<br>
Windows XP. Copy the ones not resolved to the Qt bin folder. That was<br>
only libmarblewidget.dll here. Adding the Marble directory to your PATH<br>
variable should work as well.<br></blockquote>
<br></div>you are right Qt Designer complains about mixing debug and release plugin.<br>I set CMAKE_BUILD_TYPE to "Release" and it resolved the missing download of openstreetmap tiles! :p<br>(a "-DCMAKE_BUILD_TYPE=Release" should be better)<br>
But now Qt Designer complains about unfindable plugin (in fact it is looking for libmarblewidget.dll )<br>To solve this you can put libmarblewidget.dll and data\ directory near qtdesigner.exe ( or copy only data\ and add marble in your system path)<br>
<br></div><div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div text="#000000" bgcolor="#ffffff"><div><blockquote type="cite">
Anyway step two, building a libmarblewidget application
passed!<br>
Here is the way (i will not put it on the techbase untill I don't see
openstreetmap map in my app):<br>
</blockquote></div>
Probably none of the plugins are loaded. Check the settings menu, any
plugins listed there? If the qnam networking plugin is not loaded, OSM
downloads don't happen and the map appears just blue (tile downloading
always fails).<br></div></blockquote></div><div><br>So, now step two, building a libmarblewidget App, is passed!<br>I will sum it up on the techbase too. I still have one issue : I have tiles in cache so my App shows me openstreetmap in marblewidget<br>
but the widget don't want to download more tiles.. I had to copy plugin\ directory near myapp.exe to enable the download.<br>It is quite a PITA all those relative path (what wonderful it is to be on GNU/Linux..)<br>So if someone knows how to solve this missing download with a proper way..<br>
<br>Next step is making qtdesigner working. <br>oups already done :p (see above)<br>So we need to make an howto on the techbase too.<br><br>I will let you know here when I will release those howto.<br>CU<br><br>Sylvain (aka GarthPS)<br>
<br>
</div></div>
</blockquote></div><br>