QtCreator выдает ошибку /usr/bin/ld: cannot find -lGL
Ошибка сборки в Qt Creator:
19:06:04: Выполняются этапы для проекта Test...
19:06:04: Настройки не изменились, этап qmake пропускается.
19:06:04: Запускается: «/usr/bin/make» -j2
g++ -Wl,-rpath,/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/lib -o Test main.o mainwindow.o moc_mainwindow.o /home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/lib/libQt5Widgets.so /home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/lib/libQt5Gui.so /home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/lib/libQt5Core.so -lGL -lpthread
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
make: *** [Makefile:247: Test] Error 1
19:06:04: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/развёртывании проекта Test (комплект: Desktop Qt 5.15.0 GCC 64bit)
Во время выполнения этапа «Сборка»
19:06:04: Прошло времени: 00:01.
Покопавшись в интернете, понял что мне нужен пакет libgl1-mesa-dev. Он установлен, и libGL.so тоже, но Qt Creator его не видит и выдает ошибку
После 'Меню->Сборка->Очистить проект' выводит:
19:58:09: Выполняются этапы для проекта Test...
19:58:09: Запускается: «/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/bin/qmake» /home/chelizomona/Проекты/Qt/Test/Test/Test.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
19:58:09: Процесс «/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/bin/qmake» завершился успешно.
19:58:09: Запускается: «/usr/bin/make» -f /home/chelizomona/Проекты/Qt/Test/build-Test-Desktop_Qt_5_15_0_GCC_64bit-Debug/Makefile qmake_all
make: Цель «qmake_all» не требует выполнения команд.
19:58:09: Процесс «/usr/bin/make» завершился успешно.
19:58:09: Запускается: «/usr/bin/make» -j2
/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/bin/uic ../Test/mainwindow.ui -o ui_mainwindow.h
g++ -c -pipe -g -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../Test -I. -I/usr/lib -I../../../../Programs/QtCreator/5.15.0/gcc_64/include -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtWidgets -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtGui -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I../../../../Programs/QtCreator/5.15.0/gcc_64/mkspecs/linux-g++ -o main.o ../Test/main.cpp
g++ -pipe -g -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h ../../../../Programs/QtCreator/5.15.0/gcc_64/mkspecs/features/data/dummy.cpp
g++ -c -pipe -g -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../Test -I. -I/usr/lib -I../../../../Programs/QtCreator/5.15.0/gcc_64/include -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtWidgets -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtGui -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I../../../../Programs/QtCreator/5.15.0/gcc_64/mkspecs/linux-g++ -o mainwindow.o ../Test/mainwindow.cpp
/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /home/chelizomona/Проекты/Qt/Test/build-Test-Desktop_Qt_5_15_0_GCC_64bit-Debug/moc_predefs.h -I/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/mkspecs/linux-g++ -I/home/chelizomona/Проекты/Qt/Test/Test -I/usr/lib -I/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/include -I/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/include/QtWidgets -I/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/include/QtGui -I/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/include/QtCore -I. -I/usr/include/c++/9 -I/usr/include/x86_64-linux-gnu/c++/9 -I/usr/include/c++/9/backward -I/usr/lib/gcc/x86_64-linux-gnu/9/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include ../Test/mainwindow.h -o moc_mainwindow.cpp
g++ -c -pipe -g -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../Test -I. -I/usr/lib -I../../../../Programs/QtCreator/5.15.0/gcc_64/include -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtWidgets -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtGui -I../../../../Programs/QtCreator/5.15.0/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I../../../../Programs/QtCreator/5.15.0/gcc_64/mkspecs/linux-g++ -o moc_mainwindow.o moc_mainwindow.cpp
g++ -Wl,-rpath,/home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/lib -o Test main.o mainwindow.o moc_mainwindow.o /home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/lib/libQt5Widgets.so /home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/lib/libQt5Gui.so /home/chelizomona/Programs/QtCreator/5.15.0/gcc_64/lib/libQt5Core.so -lGL -lpthread
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
make: *** [Makefile:248: Test] Error 1
19:58:19: Процесс «/usr/bin/make» завершился с кодом 2.
Ошибка при сборке/развёртывании проекта Test (комплект: Desktop Qt 5.15.0 GCC 64bit)
Во время выполнения этапа «Сборка»
19:58:19: Прошло времени: 00:10.
Ответы (2 шт):
Для начала убедитесь, что данная библиотека установленна в /usr/lib. Для этого Вам необходимо выполнить следующую команду:
find / -name "libGL*" 2>&1 | grep -v "Permission denied"
На выходе Вы получите список библиотек (а так же других файлов, чьи имена содержат libGL) с указанием полного пути до каждый из них.
Если данная библиотека не нашлась в /usr/lib, но при этом Вы обнаружили ее в другой директории, Вы можете:
- обновить список директорий, в которых производится поиск библиотек; сделать это можно следующим образом:
# Добавляем конфигурационный файл, который содержит
# путь к директории с необходимыми Вам библиотеками
echo '/path/to/directory' | sudo tee /etc/ld.so.conf.d/gl.conf > /dev/null
# Обновляем конфигурацию
sudo ldconfig
- создать симлинк
sudo ln -s /some/path/libGL.so /usr/lib/libGL.so
- изменить значение переменной среды
LD_LIBRARY_PATH[1]
LD_LIBRARY_PATH=/path/to/library:${LD_LIBRARY_PATH}
[1] Делать это нужно в самом QtCreator'е. Если я не ошибаюсь, где-то в настройках должна быть секция, предоставляющая такую возможность.
libgl1-mesa-dev сейчас содержит только pkg-config файл, в нем нет зависимостей на исходники и на libgl1
поставь пакеты libgl1 и mesa-common-dev
Очисти сборку: меню сборка - очистить проект