Qt Installer 作成
0. 前提環境
追加であると良いもの(Qt Creator ビルド用)
llvm, clang, libclang-dev(C/C++ 補完や解析を使うなら推奨。無くても最小構成でビルドは可能)
doxygen(ドキュメント生成を無効にするなら不要)
例:
sudo apt install -y clang llvm-dev libclang-dev
使わない場合は後述の CMake オプションで無効化します。
1. Qt Installer Framework (スタンドアロン) を導入
-
ダウンロード
# 例: Linux x86-64 wget https://download.qt.io/official_releases/qt-installer-framework/4.8.1/QtInstallerFramework-linux-x64-4.8.1.run他 OS 用は同ディレクトリに並んでいます(
*.exe,*.dmgなど)。([download.qt.io][2]) -
実行属性を付与して起動
chmod +x QtInstallerFramework-linux-x64-4.8.1.run ./QtInstallerFramework-linux-x64-4.8.1.runGUI ウィザードで展開先(例
/opt/QtIFW-4.8.1)を指定して完了。 -
動作確認
/opt/QtIFW-4.8.1/bin/binarycreator --version # → 4.8.1 と出れば OK以降このパスをそのまま使います(PATH に追加しても可)。
2. Qt 6.8.3 をビルドして“ステージング”に配置
# ソースを展開
tar -xf qt-everywhere-src-6.8.3.tar.xz
mkdir qt6.8.3-build && cd qt6.8.3-build
# Qt 独自 configure (CMake ラッパ) でセットアップ
../qt-everywhere-src-6.8.3/configure \
-qt-pcre \
-prefix /opt/Qt/6.8.3 \
-release -opensource -confirm-license \
-nomake tests -nomake examples \
-skip qtwebengine # 不要なら除外
cmake --build . --parallel $(nproc)
sudo cmake --install .
ここまでで
/opt/Qt/6.8.3が出来上がります。
2.5. Qt Creator 17.0.2 をビルドして配置
# 上位ディレクトリに戻る
cd ..
# ソース展開
tar -xf qt-creator-opensource-src-17.0.2.tar.xz
mkdir qtcreator-17.0.2-build && cd qtcreator-17.0.2-build
# Qt のパスを CMake に教える(CMAKE_PREFIX_PATH)
cmake ../qt-creator-opensource-src-17.0.2 \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/Qt/Tools/QtCreator \
-DCMAKE_PREFIX_PATH=/opt/Qt/6.8.3 \
-DBUILD_WITH_QT6=ON \
-DWITH_QT_CREATOR_FEEDBACK_PLUGIN=OFF \
-DWITH_DOCS=OFF
# (任意)libclang系を無効化したい場合は下記も
# -DWITH_CLANG=OFF
ninja -j"$(nproc)"
sudo ninja install
動作確認(ビルド後のローカル環境で)
/opt/Qt/Tools/QtCreator/bin/qtcreator --version
# 17.0.2 が出ればOK
C/C++ のコード補完などを強化したい場合は
-DWITH_CLANG=ONと必要なlibclangを用意してください。
3. IFW の packages/ ツリーを作る
my-installer/
├─ config/
│ └─ config.xml
└─ packages/
├─ org.qt.qt6.8.3/
│ ├─ meta/
│ │ └─ package.xml
│ └─ data/
└─ org.qt.qtcreator/
├─ meta/
│ └─ package.xml
└─ data/
3-1. Qt/Qt Creator をコピー
# Qt 6.8.3
mkdir -p my-installer/packages/org.qt.qt6.8.3/data/6.8.3
sudo rsync -a /opt/Qt/6.8.3/ my-installer/packages/org.qt.qt6.8.3/data/6.8.3/
# Qt Creator 17.0.2
mkdir -p my-installer/packages/org.qt.qtcreator/data/Tools/QtCreator
sudo rsync -a /opt/Qt/Tools/QtCreator/ my-installer/packages/org.qt.qtcreator/data/Tools/QtCreator/
rsync -aを使うと実行ビットやシンボリックリンクも保たれます。
3-2. package.xml(Qt 本体)
<?xml version="1.0"?>
<Package>
<DisplayName>Qt 6.8.3 Desktop (x86-64)</DisplayName>
<Description>ローカルビルド版 Qt 6.8.3</Description>
<Version>6.8.3-1</Version>
<ReleaseDate>2025-06-23</ReleaseDate>
<Default>true</Default>
<License>LGPL-3.0</License>
</Package>
3-3. package.xml(Qt Creator)
my-installer/packages/org.qt.qtcreator/meta/package.xml
<?xml version="1.0"?>
<Package>
<DisplayName>Qt Creator 17.0.2</DisplayName>
<Description>Qt 公式 IDE(ローカルビルド)</Description>
<Version>17.0.2-1</Version>
<ReleaseDate>2025-10-06</ReleaseDate>
<Default>true</Default>
<Licenses>
<License name="GPL-3.0 notice" file="LICENSE.txt"/>
</Licenses>
<Dependencies>org.qt.qt6.8.3</Dependencies>
</Package>
Dependenciesにより、Qt 本体が先に導入されます。
Defaultをtrueにしてあるので、デフォルトで Qt Creator も選択されます。
LICENSE.txtは次節で作成します。
3-3-1. ライセンスファイル配置
Qt Installer Framework は <License file="..."> で指定されたファイルを実際に同梱・表示します。
このため、LICENSE.txt を meta/ フォルダに配置します。
# Qt Creator パッケージの meta にライセンスを作成
mkdir -p my-installer/packages/org.qt.qtcreator/meta
cat > my-installer/packages/org.qt.qtcreator/meta/LICENSE.txt <<'EOF'
Qt Creator 17.0.2 — License notice
This package redistributes Qt Creator built from source.
Qt Creator is available under GPLv3 (and commercial terms).
See https://www.qt.io/licensing and the upstream source tree for
full license texts and third-party notices.
EOF
実際の配布時には、
LICENSE.txtに Qt Creator ソース中の
LICENSE.GPL3,LICENSE.LGPL3,ThirdPartySoftware.txt等の内容を
適宜統合しておくとより正確です。
最低限このファイルが存在すればbinarycreatorの
「Cannot find any license matching」エラーは解消します。
3-4. config.xml(TargetDir を /opt/Qt に変更)
<?xml version="1.0"?>
<Installer>
<Name>Qt 6.8.3 + Qt Creator オフライン</Name>
<Version>1.0.0</Version>
<Title>Qt 6.8.3/Qt Creator オフラインインストーラ</Title>
<Publisher>Your Org</Publisher>
<StartMenuDir>Qt 6.8.3</StartMenuDir>
<TargetDir>/opt/Qt</TargetDir>
</Installer>
これで、Qt は
/opt/Qt/6.8.3、Qt Creator は/opt/Qt/Tools/QtCreatorに入ります。
4. binarycreator でオフラインインストーラ生成
/opt/QtIFW-4.8.1/bin/binarycreator \
--offline-only \
-c my-installer/config/config.xml \
-p my-installer/packages \
-t /opt/QtIFW-4.8.1/bin/installerbase \
qt-6.8.3-with-qtcreator-offline.run
これで
LICENSE.txtの不在エラーが出なくなり、
Qt 6.8.3 と Qt Creator 17.0.2 を同梱したオフラインインストーラが生成されます。
5. テスト(Qt + Qt Creator)
chmod +x qt-6.8.3-with-qtcreator-offline.run
./qt-6.8.3-with-qtcreator-offline.run
インストール後の動作確認
/opt/Qt/6.8.3/bin/qmake -v # Qt 側の確認(存在すればOK)
/opt/Qt/Tools/QtCreator/bin/qtcreator --version
(任意)PATH に追加
~/.bashrc などに追記:
export PATH=/opt/Qt/6.8.3/bin:/opt/Qt/Tools/QtCreator/bin:$PATH
6. よくある質問(Qt Creator 追加分)
| 症状 | 対処 |
|---|---|
qtcreator: command not found |
PATH に /opt/Qt/Tools/QtCreator/bin を追加するか、/usr/local/bin/qtcreator へシンボリックリンクを作成(root権限)。 |
| C/C++ 補完が弱い |
libclang 連携を有効化してビルド(-DWITH_CLANG=ON、libclang-dev を導入)。 |
| ビルドで LLVM/Clang が見つからない | いったん -DWITH_CLANG=OFF で最小構成ビルドにし、後で再ビルド。 |
| Wayland セッションで起動に難がある |
QT_QPA_PLATFORM=xcb で起動して挙動比較。 |
参考メモ
- IFW では 1 つのインストーラに複数パッケージを同梱できます。本手順では
org.qt.qt6.8.3とorg.qt.qtcreatorを同時収録。 - 将来、Qt Creator のみ更新したい場合は
org.qt.qtcreatorのVersionとdata/を差し替え、同じconfig.xmlで再生成すれば OK です。