Sorun swrastyazılım oluşturucudur. Bu, grafik kartınız için donanım sürücüsünü bulmadığı anlamına gelir. Bir sürü libGL kütüphanesi kurulmuş ve bu kütüphanelere sembolik bağ bir demet. Bunları görmek için bunu kabuğundan çalıştırın:
find /usr -iname "*libGL.so*" -exec ls -l -- {} +
Şimdi probleminizin olası nedeni, grafik sürücülerini kurmanın bazen bu sembolik bağlantıları kırmasıdır. (Özellikle /usr/local/lib/libGL.so.1.2.0, yanlış lib'e ya da yanlış linke bir sym linki olması muhtemeldir).
OpenGL programlarının hangi kütüphaneyi çalıştırmaya çalıştığını anlamak için biraz ayrıntılı bir şekilde açabilir ve basit bir OpenGL programı çalıştırabilirsiniz. Bunu standart OpenGL test programını kullanarak doğrulayabilirsiniz:
LIBGL_DEBUG=verbose glxgears
Umarım bu SFML ile aynı şekilde başarısız olur. Bununla beraber LIBGL_DEBUGhangi OpenGL kütüphanesini yüklemeye çalıştığını söylemeliyim. Dahası, yüklemeye çalıştığı lib neredeyse kesinlikle olacaktır /usr/local/lib/libGL.so.1.2.0(Düzenleme: Bu, yanıtladığımda makinemdeki standart OpenGL kitaplığıydı. Şimdi makinenizde başka bir sürüm de olabilir).
Bu yüzden çözüm (bu durumda) /usr/local/lib/libGL.so.1.2.0bunun sağ OpenGL kütüphanesini işaret eden sembolik bir bağlantı olduğundan emin olmaktır . Benim durumumda Nvidia 3.40 sürücüsüne sahibim bu yüzden kaçtım:
ln -s /usr/lib/nvidia-340/libGL.so.1 /usr/local/lib/libGL.so.1.2.0
Ancak, sizin için uygun olan OpenGL kitaplığına yönlendirmek isteyeceksiniz (ilk bulma komutunda listelenmiştir).
Özetle: (özel) grafik sürücüleri yüklemek, OpenGL kütüphaneleri için kullanılan sembolik bağlantıları bozabilir. Bu sorunu manuel olarak çözmek için sembolik bağlantıları düzeltin ( /usr/local/lib/libGL.so.1.2.0önce düzeltin ).
libGL.so:LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa ./glprogram. Varsayılan olarak, Ubuntu 16.04'üm/usr/lib/nvidia-361/libGL.sonedeniyle kullanıyor/etc/ld.so.conf.d/x86_64-linux-gnu_GL.confve hepsi iyi çalışıyor.