/usr/bin/x86_64-linux-gnu-ld: не может найти-lGL

Это сообщение было переведено из немецкого языка. Для оригинала см. историю пересмотра.


Я записал следующую программу в спокойном Создателе.

Сообщение об ошибке обращается к Ubuntu. Я использую Ubuntu 18.04 на устройстве с Intel i5.

Я исследовал в течение многих дней и еще не нашел решение.

Какова могла быть проблема и как я могу зафиксировать ее?

#include <QApplication>
#include <QPushButton>

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    QPushButton button("Hallo Welt und so weiter");

    button.move(250,300);
    button.show();

    return app.exec();
}

:-1: Fehler: collect2: error: ld returned 1 exit status

g++ -Wl,-rpath,/opt/Qt/5.11.1/gcc_64/lib -o HalloWelt main.o   -L/opt/Qt/5.11.1/gcc_64/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread 
/usr/bin/x86_64-linux-gnu-ld: cannot find -lGL
Makefile:254: recipe for target 'HalloWelt' failed
collect2: error: ld returned 1 exit status
make: *** [HalloWelt] Error 1
16:12:14: Der Prozess "/usr/bin/make" wurde mit dem Rückgabewert 2 beendet.
Fehler beim Erstellen/Deployment des Projekts HalloWelt (Kit: Desktop Qt 5.11.1 GCC 64bit)
Bei der Ausführung von Schritt "Make"
16:12:14: Verstrichene Zeit: 00:00.
0
задан 10 July 2018 в 10:42

1 ответ

Сначала очень странно, что у Вас есть QT в /opt.

Корректный путь состоял бы в том, чтобы установить QT 5.9.5 и другие пакеты разработки из репозитория:

sudo apt-get install qt5-default build-essential checkinstall \
libc6-dev libssl-dev libexpat1-dev libgl1-mesa-dev libqt4-dev \
libavcodec-dev libavutil-dev pkg-config

Затем скомпилируйте свою программу с

g++ HalloWelt.cpp $(pkg-config --cflags Qt5Widgets) $(pkg-config --libs Qt5Widgets) -fPIC -o HalloWelt

И выполненный с

./HalloWelt

HalloWelt

Если Вы хотите зафиксировать только -lGL ошибка необходимо установить один пакет:

sudo apt-get install libgl1-mesa-dev
1
ответ дан 28 October 2019 в 09:18

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

Похожие вопросы: