LinuxのQtは-lGLエラー完璧なソリューション(効果的なプロのテストを)見つけることができません

http://c.biancheng.net/view/3901.html

 

多くの人にとってのLinuxディストリビューション、のQtプロジェクトは、直接コンパイルまたは実行し、以下に示すように、エラーを「-lGLを見つけることができません」があるだろう場合、インストールは完了です。

-lGLを見つけることができません


QtのOpenGLは、ダイナミックリンクライブラリ(libGL.so)を見つけることができないためです。「ではLinuxのQtがインストール我々が言った」セクション、ほとんどの中のOpenGL のLinuxディストリビューションなどのUbuntu、CentOSの、を含む、デフォルトでインストールされた中には、リンク・ライブラリーは、一般的に間違ってパスしている見つけることができません。

/ usr / lib /ディレクトリにあるダイナミックリンクライブラリQtのデフォルトを探すが、多くのLinuxディストリビューションには、例えば、私はCentOSの7、は/ usr / lib64に/ディレクトリにあるのOpenGLライブラリを使用し、ためています、別の場所でのOpenGLライブラリをリンクしますUbuntuのは/ usr / libに/ I386-linuxの中にあるOpenGLライブラリ -gnu /メサ/ ディレクトリ。限り、我々はlibGL.soとしては/ usr / lib /ディレクトリにコピーし、または/ usr / lib /ディレクトリの下にlibGL.soへのリンクを作成し、問題を解決します。第二のアプローチは明らかに優れています。

また、Linuxディストリビューションは、OpenGLライブラリが例libGL.so.1、libGL.so.1.2.0、libGL.so.1.3.1などのために、バージョン番号に接尾辞に追加さが付属していますが、Qtは、リンクの段階を見てOpenGLのリンクライブラリはバージョン管理されていません。

総称して、我々は、/ usr / lib /ディレクトリにOpenGLライブラリへのリンクを作成し、バージョン番号を削除する必要があります。

あなたは、現在のLinuxシステムlibGL.soの正確なパスがわからない場合は、使用できるlocate libGLコマンドやfind /usr -name libGL*検索および使用するためのコマンドをln -sリンクを作成します。次のプレゼンテーションを考えてみます。

#libGLの場所検索
[ルート@ localhostの〜] libGL見つけ#
/usr/lib64/libGL.so
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2.0
は/ usr /レポートをこのコンテンツの共有/ DOCを/mesa-libGL-9.2.5
/usr/share/doc/mesa-libGL-9.2.5/COPYING

#リンクを作成する
[ルート@ localhostの〜]#LN -s /usr/lib64/libGL.so.1は/ usr / LIB / libGL.so

libGL.so Linuxシステムの複数のバージョンは、あなたが任意のバージョンへのリンクを作成することができますがあるかもしれません。普通のユーザーがリンクを作成する権限を持っていないので、私はrootユーザーを使用していました。

完了、再びのQtを起動し、コンパイルや実行、それは表示されません間違い「-lGLを見つけることができません」。

おすすめ

転載: www.cnblogs.com/xiang--liu/p/11641841.html