Сбой приложения osgEarthQt при запуске с ошибкой - PullRequest
0 голосов
/ 10 октября 2018

Я использую Qt 5.11.2 / osgEarth 2.9.0.

Когда я пытаюсь запустить приведенный ниже код, я получаю сообщение об ошибке:

Невозможно сделать ток QOpenGLContext текущим в другом потоке

Я попытался найтирешение в Интернете, но обнаружил только подобные ситуации, когда люди просто переписывали часть своего кода, даже без osgEarth.Но если вы удалите вывод Qt из моего кода (последние 2 строки)), все работает хорошо, из чего я заключил, что проблема не в моем коде.Может я забыл установить какой-нибудь пакет?Или неправильно его установили?

Код:

Viewer *viewer = new Viewer();
EarthManipulator *manipulator = new EarthManipulator();
viewer->setLightingMode(osg::View::NO_LIGHT);
viewer->getCamera()->setSmallFeatureCullingPixelSize(-1.0f);
viewer->setCameraManipulator(manipulator);

Map map = new Map();
MapNode mapnode = new MapNode(map);

Drivers::XYZOptions xyz;
xyz.url() = "http://[abc].tile.openstreetmap.org/{z}/{x}/{y}.png";
xyz.profile()->namedProfile() = "spherical-mercator";
ImageLayer* imageLayer = new ImageLayer("OSM", xyz);
map->addLayer(imageLayer);

viewer->setSceneData(mapnode);
MapNodeHelper().configureView(viewer);

QWidget *viewerWidget = new ViewerWidget(viewer);
layout->addWidget(viewerWidget);
...