はじめに
今年もはじまりましたアドベントカレンダー。ここ数年Qtは記事が振るわぬ状況ですし、今年は別のカレンダーにも参加しているのでこちらをどこまで頑張れるか怪しいところですが、いくつか記事がかえれば良いなぁと思っています。
私の方は長いこと日本Qtユーザー会に参加していながら仕事はQtほぼ関係なしな状況でしたが、つい最近Qt6を使ったお仕事をさせていただきました。割といろいろ厳しめなお仕事でしたが、なんというかやっぱQtって良いですよね。Qt6はQt5に比べると機能がだいぶ削られていたり、まだ不安定な部分もあったりで悩ましいところもあるのですが、それでも普段やっていたようなmotifさんとか、XlibさんとかTcl/Tkさんに比べるとすごく素晴らしいです(比較対象がおかしいとか言わないように。そういう現場もまだあります)。
そんなQtですが、ちょっと困るのがインストール数の制限のあるGUIインストーラです。もちろん、OSのパッケージシステム経由で必要なものを入れたり、yoctoを使うとかなら良いのですが、参加者向けの手順書を起こすのにVMで手順を確認したいとか、複数の環境で試したりとかするとあっという間にインストール数が限界に達します。あと地味にCI系の環境作りとかでGUI入りのVMは邪魔だったりして不満が出てきます。
そんな時に便利な非公式インストーラーであるAnother Qt Installerの紹介と簡単な環境構築を今後の記事のためにもちょっと紹介しておきます。
Another Qt Installerとは
Another Qt Installer(以下 aqtinstall)は、非公式なCLIインストーラーです。The Qt Companyが提供する公式なインストーラーはいつの頃からかおしゃれなGUIインストーラーになりましたが、ユーザー登録が必須だったり、インストール数が限られれ、対話型UIインストーラが向かないCI環境の構築や手順書や書籍執筆などで頻繁に環境構築する方には向かない情況になっていました。
aqtinstallは、LGPL版のQt SDKを、公式インストーラーが利用するのと同じミラーサイトからダウンロードし、インストールしてくれるMiuraさんをはじめとする有志の方々が作成された非公式CUIインストーラーです。
今回はこちらのツールを使ってのインストール手順を備忘録を兼ねて残しておきます。
注意事項(Githubに記載されている中で大事そうなことの取りまとめ)
- 非公式なのでThe Qt Companyに問い合わせないでください
- これでインストールするとQt LGPLライセンスに同意したものとみなされます
- Qtのバイナリは公式インストーラーLGPL版と同等です
- ミラーサイトのバイナリはaqtinstallの開発者の方々の管理外なのでバイナリがなくなったとかインストールできなくなったとかクレームを入れるのは筋違いです
今回の検証環境
WindowsやmacOSでも利用できるのですが今回は、KUbuntu 24.04上での手順だけ記載しておきます。
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
なお、KUbuntuはKDE版というだけで、Ubuntu 24.04でも同様の手順でできるはずです。WindowsやmacOSの方はぜひ公式ドキュメントなどを参考にしてみてください。
ではやってみよう
まずは使いそうなパッケージ類をインストール
使わないものもはいっているかもしれませんが、GUI開発定番で必要そうなものをいつも入れているのでそのまま記載しておきます。
sudo apt install build-essential cmake ninja-build git \
libgl1-mesa-dev libvulkan-dev libxcb-xinput-dev \
libxcb-xinerama0-dev libxkbcommon-dev libxkbcommon-x11-dev \
libxcb-image0 libxcb-keysyms1 libxcb-render-util0 \
libxcb-xkb1 libxcb-randr0 libxcb-icccm4 python3-venv
venvにaqtinstall環境のインストール
僕はPython用仮想環境に入れています。
python3 -m venv ~/Qt/.venv
source ~/Qt/.venv/bin/activate
pip install aqtinstall
Qt SDKのインストール
aqtinstallのコマンドはaqtです。aptではないのでご注意ください。今回はざっくりと全モジュール入れています。この手順で入れるとライセンス的にGPLなものも入るかもしれません。ご利用時にはモジュールのライセンスをよく確認してご利用ください。
aqt install-qt -O ~/Qt linux desktop 6.8.0 -m all
aqt install-doc -O ~/Qt linux 6.8.0 -m all
aqt install-example -O ~/Qt linux 6.8.0 -m all
aqt install-src -O ~/Qt 6.8.0
パスを通しておく(bashrcへの追記)
export PATH=${HOME}/Qt/6.8.0/gcc_64/bin:${PATH}
source ~/.bashrc
Qt Creatorのインストール
Doc/Exampleのパス設定
Qt Creatorをインストールした時に困らないようにパスを追加します。
[Paths]
Prefix=..
Documentation=../../Docs/Qt-6.8.0
Examples=../../Examples/Qt-6.8.0
インストール
aqt install-tool -O ~/Qt linux desktop tools_qtcreator_gui
aqt install-tool -O ~/Qt linux desktop sdktool
SDK情報登録
Qtの自動登録で認識されるようにsdktoolでqmakeのパスを登録しておきます。
${HOME}/Qt/Tools/sdktool/libexec/qtcreator/sdktool addQt --id "aqt.installed.qt.6.8" --name "Qt 6.8.0(Desktop)" --qmake ${HOME}/Qt/6.8.0/gcc_64/bin/qmake --type Qt4ProjectManager.QtVersion.Desktop
sdktoolを使うと、yocto向けの環境とかをスクリプトでQt Creatorに認識させられるので便利なんですよね。情報がさっぱりないツールではあるのですが…。
パスを通しておく(bashrcへの追記)
export PATH=${HOME}/Qt/Tools/QtCreator/bin:${PATH}
source ~/.bashrc
Qt Creator起動
qtcreator.sh &
ここまでの手順で、Qt Creatorが起動でき、Qtでのアプリケーション開発が開始できるかと思います。
まとめ
初日から気合の抜けた近況報告と備忘録的な記事で申し訳ありません。まぁ、あまり頑張ってもあとが続きませんので、今年はゆるい、ぬるい記事をモットーに細々と上げていくので、あまり期待せずにふーんと読み飛ばしていただければ幸いです。
このツールは日本人の方が作っていることもあって公式ドキュメントが用意されています。きちんと使いこなしたい方はそちらを読む方が良いです。
え、手順が多いって、それはスクリプトでも組んでください。何を、どこに、どんな環境に入れたいのかでやるべきことも違いますし、あくまでhermit4がインストール時にやっている一例ということで、スクリプトまでは載せません。この手の環境構築は、何を動かして、どこに入れたのかよく分からずにいると、トラブル時に困ります。あくまで参考レベルにして、ご自身にあった環境構築頑張ってみてください。