1

でGUIアプリケーションを開発しましたQt 5.3.1。Qt Creator3.1.2 (based on Qt 5.3.1)を使用して GUI アプリケーションをビルドしていますが、アプリケーションを正常にビルドおよびデプロイできます。

Qtクリエーターを更新したかったので、最新のものをインストールし、Qt Creator 3.5.1 (based on Qt 5.5.1)この最新のqtクリエーターで既存のQT GUIアプリケーションを構築するために必要な変更を提供しました。すべてがうまくいき、最終的な実行可能ファイルを作成しようとしましたが、ビルドは次のエラー情報で終了しました:

/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
The process "/usr/bin/make" exited with code 2.
Error while building/deploying project test-app (kit: Desktop Qt 5.5.1 GCC 32bit)

オンラインで検索しようとしたところ、Mesa パッケージを更新するためのこの提案が見つかりました!. [その場合、同じアプリケーションが私の Qt クリエーター 3.1.2 で正常にビルドされたのはなぜですか。mesa パッケージを更新するための修正を試みる前に、いくつかの詳細を知りたいです。]

この問題を解決するためのヒントを教えてもらえますか? 前もって感謝します。

編集: Qt 5.3.1 で GUI アプリケーションをビルドすると、以下のライブラリが最終的な実行可能ファイルにリンクされます。

-lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Core -lGLESv2 -lEGL -lGAL

Qt 5.5.1 バージョンでビルドしたときと同じアプリケーションで、以下のライブラリが最終的な実行可能ファイルにリンクされています。

-lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Sql -lQt5Core -lGL

-lGLで問題を解決するには、@Kyrylo Polezhaievの提案に従ってmesaパッケージを更新する必要がありました

ここで欠落している部分があります:古いqtバージョン(5.3.1)のOpenGLパッケージは、最新のqtクリエーター5.5.1バージョン-lGLESv2 -lEGL -lGALと同等でしたか?-lGL

4

1 に答える 1

2

これは、リンカが libGL という名前のライブラリを見つけられなかったことを意味します。Mesa の devel ファイル (ヘッダーとライブラリ) はありますか? どこ?-L オプションで追加のライブラリ パスを指定できます。リンカー呼び出しコマンドを比較できますか?

2 番目の部分について: OpenGL ES は、スマートフォンなどの組み込みシステム用の OpenGL のサブセットです (OpenGL の「コンパクト」バージョン)。これは、アプリを OpenGL の「アダルト」バージョンに切り替えたことを意味します。Mesa は OpenGL のオープンソース実装です。これらのライブラリは Mesa の一部です。

于 2016-01-04T12:48:57.023 に答える