カテゴリー: Tips

QML で private な実装をする方法 2019

Qt/C++ 側では d-pointer という仕組みが有名ですが、QML でもそんなようなことをしたいですよね。 Qt 6/QML 3 ではスコープ的なものができるようですが、それまでは以下のような実装でしのぐことにしました。 // Private.qml import QtQ...

リソースファイル分割のすゝめ

この記事は Qt Advent Calendar 2019 2日目の記事です。 リソースのおさらい 最近の Qt Quick のプロジェクトでは、.qml ファイルや .js ファイル、画像などのアセットなどを Qt のリソースシステム で管理するのが一般的になっています。 その...

Qtアプリのバイナリサイズを削減する(5)

Qtアプリのバイナリサイズを削減する(4) ではQt から不必要な機能をごっそり削除することで27%程度サンプルアプリのバイナリサイズを削減することができました。 今まではバイナリのサイズのみに着目してきましたが、今回は起動時間の変化を調査してみました。 Qt アプリの起動時間の...

Qtアプリのバイナリサイズを削減する(4)

Qtアプリのバイナリサイズを削減する(3) ではリンク時の最適化を有効にした結果で10%程度サンプルアプリのバイナリサイズを削減することができました。 configure のオプションを設定するだけで、半分以下のサイズになって素晴らしいですね。 Qt ではさらにバイナリサイズを削...

Qtアプリのバイナリサイズを削減する(3)

Qtアプリのバイナリサイズを削減する(2) ではサイズに最適化した結果で30%程度サンプルアプリのバイナリサイズを削減することができました。 今回は、さらに次に試すべきオプションを試してみます。 リンク時に最適化を行うコンパイルオプション Link Time Optimizati...

Qtアプリのバイナリサイズを削減する(2)

Qtアプリのバイナリサイズを削減する(1) では静的リンクで20%程度サンプルアプリのバイナリサイズを削減することができました。 今回は、次に試すべきオプションを試してみます。 サイズに最適化したコンパイルオプション 最適化オプションでサイズに最適化する -Os を指定します。 ...