QXcbIntegration: Невозможно создать контекст платформы OpenGL, ни GLX, ни EGL не включены

У меня есть бинарный файл Unix, созданный с помощью QT и OpenGL, который я пытаюсь выполнить на Linux-64. Это простая визуальная программа, которая показывает 2D и 3D графику.

Я установил все необходимые зависимости, такие как библиотеки QT и openGL. Тем не менее, я застрял со следующей ошибкой, пытаясь выполнить двоичный файл

"QXcbIntegration: Невозможно создать контекст платформы OpenGL, ни GLX, ни EGL не включены"

Тем не менее, двоичный файл в конечном итоге работает, но с некоторыми отсутствующими функциями, такими как 3D-графика.

В мои настройки входят: виртуальный linux-64 с использованием virtualBox, Vagrant, x-11 forwarding и машина Mac.

3 ответа

Решение

В конце концов я понял, что OpenGL 3.3 не будет легко работать на виртуальных машинах... пока. Мне пришлось загружаться с Ubuntu USB и работать оттуда, установив последний пакет mesa 3d.

Я вижу эту проблему при выполнении приложения Qt, я выполнялся в командной строке. (Ubuntu 16.04 по умолчанию имеет черту). Я изменил на приглашение bash и перестроил свое приложение QT. Эта ошибка исчезла. Для настройки bash я использовал приведенную ниже команду.

sudo dpkg-reconfigure dash

Это показывает аналогичную проблему, и разработчик в комментарии сказал our 3D support is not very clean in Linux guests, hence the warnings, Вы можете попробовать VMware.

После некоторого времени, пытаясь заставить opengl работать над определенной заблокированной коробкой Linux, я вернулся к Qt Creator 2.5.2.

http://download.qt.io/archive/qtcreator/2.5/

http://download.qt.io/archive/qtcreator/2.5/qt-creator-linux-x86_64-opensource-2.5.2.bin

После получения этого на коробке linux...

chmod u+x *.bin
./qt-creator-linux-x86_64-opensource-2.5.2.bin

И после короткого инсталлятора Qt Creator работает!

По сути, QtQuick является требованием в любом Qt Creator, созданном после 2.5 (он же Qt 5.x) и QtQuick NEEDS библиотек opengl и их поддержки.

Надеюсь, это поможет.

Другие вопросы по тегам