Qt GL / gl.h नहीं पा सकता है लेकिन libGL.so मौजूद है


13

मैं 64 बिट Ubuntu 14.04 चला रहा हूं।

संकलित त्रुटि मुझे मिल रही है:

In file included from ../../../Qt/5.4/gcc_64/include/QtOpenGL/qgl.h:39:0,
                 from ../../../Qt/5.4/gcc_64/include/QtOpenGL/qglshaderprogram.h:37,
                 from ../../../Qt/5.4/gcc_64/include/QtOpenGL/QGLShaderProgram:1,
                 from glwidget.h:5,
                 from glwidget.cpp:1:
../../../Qt/5.4/gcc_64/include/QtGui/qopengl.h:122:21: fatal error: GL/gl.h: No such file or directory
 #  include <GL/gl.h>
                     ^

अजीब तरह से, मुझे लगता है कि मेरे Nvidia 343 डिस्प्ले ड्राइवर द्वारा स्थापित OpenGL पुस्तकालयों के लिए ठीक से स्थापित और सहानुभूति है (जो मुझे लगता है कि OpenGL ड्राइवर भी स्थापित करता है)।

$ ls -l /usr/lib | grep -i libgl
lrwxrwxrwx  1 root root           17 Jan 15 12:47 libGLESv1_CM.so -> libGLESv1_CM.so.1
lrwxrwxrwx  1 root root           22 Jan 15 12:47 libGLESv1_CM.so.1 -> libGLESv1_CM.so.343.36
-rwxr-xr-x  1 root root        48248 Jan 15 12:47 libGLESv1_CM.so.343.36
lrwxrwxrwx  1 root root           14 Jan 15 12:47 libGLESv2.so -> libGLESv2.so.2
lrwxrwxrwx  1 root root           19 Jan 15 12:47 libGLESv2.so.2 -> libGLESv2.so.343.36
-rwxr-xr-x  1 root root        62352 Jan 15 12:47 libGLESv2.so.343.36
-rw-r--r--  1 root root          654 Jan 15 12:47 libGL.la
lrwxrwxrwx  1 root root           10 Jan 15 12:47 libGL.so -> libGL.so.1
lrwxrwxrwx  1 root root           15 Jan 15 12:47 libGL.so.1 -> libGL.so.343.36
-rwxr-xr-x  1 root root      1274520 Jan 15 12:47 libGL.so.343.36

मैंने कुछ पिछली पोस्ट देखी हैं जो करने का सुझाव देती हैं

sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev

लेकिन जब मैंने कोशिश की, तो उसने मेरे समर्थित ओपनजीएल संस्करण (जैसा कि glxinfo द्वारा आउटपुट किया गया) को v1.4 पर डाउनग्रेड कर दिया। इसके अलावा, मुझे यकीन नहीं है कि मदद करने के लिए क्यों माना जाता है।

यहाँ मेरा glxinfo आउटपुट है।

$ glxinfo | grep -i opengl
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 970/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 343.36
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.4.0 NVIDIA 343.36
OpenGL shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:

धन्यवाद


1
लाइब्रेरी और हेडर फाइलें अलग-अलग चीजें हैं: क्या आपके सिस्टम में mesa-common-devपैकेज स्थापित है?
स्टीलड्राइवर

जवाबों:


19

के लिए करने के लिए के बारे में क्यूटी डॉक :

लिनक्स के लिए क्यूटी इंस्टॉलर यह मानते हैं कि सी ++ कंपाइलर, डिबगर, मेक, और अन्य विकास उपकरण होस्ट ऑपरेटिंग सिस्टम द्वारा प्रदान किए जाते हैं। इसके अलावा, ग्राफिकल Qt अनुप्रयोगों के निर्माण के लिए OpenGL पुस्तकालयों और हेडर स्थापित करने की आवश्यकता होती है। अधिकांश लिनक्स वितरण डिफ़ॉल्ट रूप से इन सभी को स्थापित नहीं करते हैं, लेकिन एक विकास वातावरण स्थापित करना अभी भी सीधा है।

Qt अनुप्रयोगों के निर्माण के लिए बुनियादी आवश्यकताओं को स्थापित करने के लिए निम्न आदेशों का उपयोग करें:

sudo apt-get install build-essential libgl1-mesa-dev

क्यों? इससे क्या मदद मिलेगी?
टिम

यदि आप डॉक्टर को पढ़ते हैं कि मैं इसे ऊपर इंगित करता हूं, तो आपको इसका कारण पता चल जाएगा
हबीबिल्लाह

17

आह, जैसा कि @steeldriver बताते हैं, हेडर और लाइब्रेरी अलग-अलग चीजें हैं, और निम्नलिखित समस्या को हल करते हैं:

sudo apt-get install mesa-common-dev

यह आवश्यक हेडर स्थापित करता है।


मज़ेदार तथ्य यह है कि GL/gl.hयदि आप WebEngine स्थापित करते हैं, तो Qt के साथ भेज दिया जाता हैqtwebengine/src/3rdparty/chromium/third_party/mesa/src/include/GL/gl.h
Marco Sulla
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.