Qt6でHello Worldできない問題を解決
Qtをインストールしたけど、Hello Worldさえもできず、エラーとなっていました。
OS: Serene Linux (Fedoraベース)
usr/bin/ld: cannot find -lGLというエラーです。
原因は、usr/lib/ディレクトリにlibglというパッケージが見つからないことによるエラーみたいで、はじめてQtを使うときによくあることらしいです。
解決方法:
libglがどこにあるのかを確認。
$ locate libGL
僕の場合、上記コマンドの結果で、libglパッケージがusr/lib64/ディレクトリに入っていました。usr/lib/ディレクトリは一覧に出てこなかったので、/usr/lib/には入ってないということ。
このため、/usr/lib64/内のlibglパッケージのショートカットを/usr/lib/内に作ってあげます。下記のようにシンボリックリンクを作成。
$ sudo ln -s /usr/lib64/libGL.so.1 /usr/lib/libGL.so
ショートカット(リンク)を作成するとき、元ファイル名はlibGL.so.1
のように数字が付与されていますが、ショートカット(リンク)のファイルは数字を除去したファイル名をつける。
こうすることで、元ファイルのバージョンが変わったときなどに、ショートカットのファイル名もバージョン番号に依存して変更しないと管理上いけなくなるなどの面倒くさい問題にもなってくる。
これでlibGLをQtのプログラムが認識するので、エラーは消えて動かしたいアプリが表示されます。