[Solved] build error QT 5.02 gui application
-
I am new in QT.
I have created Notepad example project.
When I build it I have got an error:16:51:12: Starting: "/usr/bin/make"
/home/sergey/Qt5.0.2/5.0.2/gcc_64/bin/qmake -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../Notepad/Notepad.pro
g++ -m64 -Wl,-rpath,/home/sergey/Qt5.0.2/5.0.2/gcc_64 -Wl,-rpath,/home/sergey/Qt5.0.2/5.0.2/gcc_64/lib -o Notepad main.o notepad.o moc_notepad.o -L/usr/X11R6/lib64 -L/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 -L/home/sergey/Qt5.0.2/5.0.2/gcc_64/lib -lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
make: *** [Notepad] Error 1
16:51:12: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project Notepad (kit: Desktop Qt 5.0.2 GCC 64bit)
When executing step 'Make'How to fix this error?
-
Hi,
It seems you are missing the libGL.so library on your system. You could either install OpenGL related stuff, or not use OpenGL at all (do you need it for your apps? this is not necessary to start learning and for Notepad apps). -
I have libGL.so.1 in /usr/lib/x86_64-linux-gnu/mesa. It is symbolic link to libGL.so.1.2 in the same folder. There is also ld.so.conf in the same folder. But it seams that qt don't see them.
I try to- add INCLUDEPATH += /usr/lib/x86_64-linux-gnu/mesa
- add LIBS += -L/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
to .pro file of my app. One item at a time.
That does not fix the problem. I have the same error.
How can I exclude directive -lGL from qmake command or add the path to /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1?
-
Hi,
The correct way to add a library path is:
@LIBS += -L/usr/lib/x86_64-linux-gnu/mesa/@By the way, what system are you on ? That seems an unusual folder for mesa to installed
-
Hi SGaist,
your recomendation does not help.
I have got the same error. -
I have ubuntu 12.05 64-bit on Virtual box on Windows 7
I have QT 5.02 and Boot to QT(evaluation) for QT5 installed. -
How did you instal mesa ?
-
Hi SGaist,
I install it during Boot to Qt intsaltion.
http://dist.qt.digia.com/developer/download/BootToQt-installation-guide.html
1.Installing 32-bit support libraries
sudo apt-get install g++-multilib ia32-libsThere were no dependent libraries for isa32-libs. So first install libraries from which isa32-lib is dependent. During this installation I install mesa I think.
-
Projects in Boot to Qt Creator are building without errors. But there are no examples in Boot to Qt. So I install Qt 5.02 to get the examples.
-
I have solved the problem.
I delete "-lGL" in file
/home/sergey/Qt5.0.2/5.0.2/gcc_64/mkspecs/common
Before fix:
QMAKE_LIBS_OPENGL = -lGL
after fix:
QMAKE_LIBS_OPENGL =In my example program I don' use opengl
-
The file name is:
/home/sergey/Qt5.0.2/5.0.2/gcc_64/mkspecs/common/linux.conf -
The previous decision was only a patch.
The real fix is to install packages:
mesa-common-dev
libgl1-mesa-dev
libglu1-mesa-devfor ubuntu 12.04
I was shure that I have installed those packages, but it was not so.
-
File /home/sergey/Qt5.0.2/5.0.2/gcc_64/mkspecs/common/linux.conf
must be restored to it's original state -
It has been almost a year an your suggestion about installing:
@mesa-common-dev
libgl1-mesa-dev
libglu1-mesa-dev@
works!
After installation my issue of: "error: cannot find -lGL" resolved
Thanks esers!