Saya menjalankan 64 bit Ubuntu 14.04.
Kesalahan kompilasi yang saya dapatkan adalah:
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>
^
Anehnya, saya tampaknya telah menginstal libGL dengan benar dan disinkronkan dengan pustaka OpenGL yang diinstal oleh driver display Nvidia 343 saya (yang saya duga juga menginstal driver 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
Saya telah melihat beberapa posting sebelumnya yang menyarankan untuk dilakukan
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
tetapi ketika saya mencobanya, itu menurunkan versi OpenGL saya yang didukung (seperti yang dikeluarkan oleh glxinfo) ke v1.4. Juga saya tidak yakin mengapa itu seharusnya membantu.
Ini adalah output glxinfo saya.
$ 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:
Terima kasih
mesa-common-dev
paket yang diinstal?Jawaban:
Mengenai untuk untuk Qt doc :
Pemasang Qt untuk Linux menganggap bahwa kompiler C ++, debugger, make, dan alat pengembangan lainnya disediakan oleh sistem operasi host. Selain itu, membangun aplikasi Qt grafis membutuhkan pustaka dan header OpenGL yang diinstal. Sebagian besar distribusi Linux tidak menginstal semua ini secara default, tetapi pengaturan lingkungan pengembangan masih mudah.
Gunakan perintah berikut untuk menginstal persyaratan dasar untuk membangun aplikasi Qt:
sumber
Ah, seperti yang ditunjukkan oleh @steeldriver, header dan perpustakaan adalah hal yang berbeda, dan melakukan hal berikut memperbaiki masalah:
Ini menginstal header yang diperlukan.
sumber