2016-06-23 13 views
1

Ich versuche qscintilla 2.9.2 auf Ubuntu 16.04 64bit mit Qt 5.7 bekam die folgende Fehlermeldung zu kompilieren:compilieren qscintilla auf Ubuntu schlägt

-L/home/mwambi/Qt5.7.0/5.7/gcc_64/lib -lQt5PrintSupport -L/usr/lib64 -lQt5Widgets -lQt5Gui -lQt5Core -lpthread -lGL 
/usr/bin/ld: cannot find -lGL 
collect2: error: ld returned 1 exit status 
Makefile:979: recipe for target 'libqscintilla2.so.12.0.1' failed 
make: *** [libqscintilla2.so.12.0.1] Error 1 

Ich weiß nicht, was die Bibliothek GL ist und wo finde es. Wie kann ich das lösen?

Antwort

2

In meiner Erfahrung, diese Fehlerbehebungsverfahren genug ist, etwa 90% der fehlenden Bibliothek Probleme bei der Kompilierung zu lösen:

  1. "-l [name]" bedeutet, es gibt eine "lib [name] .so"

  2. Durchsuchen Sie Ihr System nach "lib [name]" (verwenden Sie locate oder find).

    Wenn Sie es auf Ihrem System finden, überprüfen Sie die Pfade ($ LB_LIBRARY_PATH und die Flags des Buildsystems -L) und vergewissern Sie sich, dass die Architektur übereinstimmt (x86 + 64 vs. i686).

  3. Suchen Sie in einem Repository nach "lib [name]" (verwenden Sie apt, yum, synaptic, & c.).

    Installieren Sie es, wenn es fehlt.

  4. Geben Sie "lib [name] .so" in Google oder eine dedizierte Paketsuchseite (wie RPMFind oder packages.ubuntu.com) ein und sehen Sie, welche Paketnamen angezeigt werden. Suchen Sie dann nach # 2-3 .

In diesem Fall ist libGL eine Implementierung von OpenGL. Sie können Mesa installieren oder eine alternative Implementierung finden (Ich habe bisher nur Qt mit Mesa verwendet). Here's a list of packages that provide libGL; Wenn Sie bereits eines dieser Programme auf Ihrem System installiert haben, versuchen Sie, die Entwicklungsversionen der bereits vorhandenen zu holen.

Verwandte Themen