<div dir="ltr"><div>Hi All.<br><br></div><div>I have a problem with MarbleDeclarativePlugin in Qt5. I compile Marble from release KDE/4.13 with Declarative extentions. But MarbleDeclarativePlugin does not run in the QtQuick 2.x application.<br></div><div>My enviroment: ubuntu 12.04 x64, Qt 5.4, gcc 4.6.3, cmake 3.0.1.<br>My building steps:<br>- install Qt5.4 to /opt/qt5/....<br></div><div>- replace /usr/bin/qmake by symlink to Qt5.4 qmake<br></div><div><div><div>- run cmake:<br>cmake-3 -DQTONLY=TRUE -DQT_IMPORTS_DIR=/opt/qt5/5.4/gcc_64/qml/ -DCMAKE_PREFIX_PATH=/opt/qt5/5.4/gcc_64/lib/cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../marble<br></div><div>- make && sudo make install<br></div><div>- the marble declarative files are installed to /org/kde/marble , but it should be installed to /opt/qt5/5.4/gcc_64/qml/ (I have copyed it manually).<br></div><div><br></div><div>marble-qt and marble-mobile apps work OK.<br></div><div><br></div><div>Then I create a QtQuick2.3 application width declarative MarbleWidget, but when I run this application, it does not start with trace:<br><br>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QML debugging is enabled. Only use this in a safe environment.</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">Module 'org.kde.edu.marble' does not contain a module identifier directive - it cannot be protected from external registrations.</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QObject: Cannot create children for a parent that is in a different thread.</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">(Parent is MarbleDeclarativePlugin(0x7f0d2809a140), parent's thread is QThread(0x22f82f0), current thread is QThread(0x2272610)</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QIODevice::write: device not open</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)">QWidget: Cannot create a QWidget without QApplication</span></p><p style="margin:0px;text-indent:0px"><br><span style="font-family:"Monospace";font-size:9pt;color:rgb(170,0,0)"></span></p>Can I do something wrong in build with Qt5? <br>Why cmake ignore -DQT_IMPORTS_DIR in Qt5?<br></div><div>Has anybody run declarative MarbleWidget on QtQuick 2.x aplication ?<br><br>--<br></div><div>Best regards<br></div><div>Oleg Lyubimov<br></div></div></div></div>